diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
commit | 8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch) | |
tree | a77e7fe7a93de11213032ed4ab1f33a3db51b738 /spec/features/projects | |
parent | 00b35af3db1abfe813a778f643dad221aad51fca (diff) | |
download | gitlab-ce-8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781.tar.gz |
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'spec/features/projects')
238 files changed, 555 insertions, 352 deletions
diff --git a/spec/features/projects/active_tabs_spec.rb b/spec/features/projects/active_tabs_spec.rb index 815cf3b9c58..349e5f5e177 100644 --- a/spec/features/projects/active_tabs_spec.rb +++ b/spec/features/projects/active_tabs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project active tab' do +RSpec.describe 'Project active tab' do let(:user) { create :user } let(:project) { create(:project, :repository) } @@ -84,7 +84,7 @@ describe 'Project active tab' do context 'on project Wiki' do before do - visit project_wiki_path(project, :home) + visit wiki_path(project.wiki) end it_behaves_like 'page has active tab', 'Wiki' diff --git a/spec/features/projects/activity/rss_spec.rb b/spec/features/projects/activity/rss_spec.rb index e1efe6ca64d..9012b335bf4 100644 --- a/spec/features/projects/activity/rss_spec.rb +++ b/spec/features/projects/activity/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Activity RSS' do +RSpec.describe 'Project Activity RSS' do let(:project) { create(:project, :public) } let(:user) { project.owner } let(:path) { activity_project_path(project) } diff --git a/spec/features/projects/activity/user_sees_activity_spec.rb b/spec/features/projects/activity/user_sees_activity_spec.rb index 664002d909c..a9cdbd5c342 100644 --- a/spec/features/projects/activity/user_sees_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_activity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Activity > User sees activity' do +RSpec.describe 'Projects > Activity > User sees activity' do let(:project) { create(:project, :repository, :public) } let(:user) { project.creator } let(:issue) { create(:issue, project: project) } diff --git a/spec/features/projects/activity/user_sees_design_comment_spec.rb b/spec/features/projects/activity/user_sees_design_comment_spec.rb index 9864e9ce29f..e60deba65f0 100644 --- a/spec/features/projects/activity/user_sees_design_comment_spec.rb +++ b/spec/features/projects/activity/user_sees_design_comment_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Activity > User sees design comment', :js do +RSpec.describe 'Projects > Activity > User sees design comment', :js do include DesignManagementTestHelpers let_it_be(:project) { create(:project, :repository, :public) } diff --git a/spec/features/projects/activity/user_sees_private_activity_spec.rb b/spec/features/projects/activity/user_sees_private_activity_spec.rb index 0ec4752d418..86692bc6b4c 100644 --- a/spec/features/projects/activity/user_sees_private_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_private_activity_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Activity > User sees private activity', :js do +RSpec.describe 'Project > Activity > User sees private activity', :js do let(:project) { create(:project, :public) } let(:author) { create(:user) } let(:user) { create(:user) } diff --git a/spec/features/projects/artifacts/file_spec.rb b/spec/features/projects/artifacts/file_spec.rb index f7eaae12072..b61ee623fec 100644 --- a/spec/features/projects/artifacts/file_spec.rb +++ b/spec/features/projects/artifacts/file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Artifact file', :js do +RSpec.describe 'Artifact file', :js do let(:project) { create(:project, :public) } let(:pipeline) { create(:ci_empty_pipeline, project: project) } let(:build) { create(:ci_build, :artifacts, pipeline: pipeline) } diff --git a/spec/features/projects/artifacts/raw_spec.rb b/spec/features/projects/artifacts/raw_spec.rb index 0606ab0ed08..d72a35fddf8 100644 --- a/spec/features/projects/artifacts/raw_spec.rb +++ b/spec/features/projects/artifacts/raw_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Raw artifact', :js do +RSpec.describe 'Raw artifact', :js do let(:project) { create(:project, :public) } let(:pipeline) { create(:ci_empty_pipeline, project: project) } let(:job) { create(:ci_build, :artifacts, pipeline: pipeline) } diff --git a/spec/features/projects/artifacts/user_browses_artifacts_spec.rb b/spec/features/projects/artifacts/user_browses_artifacts_spec.rb index d8c6ef4755d..77e3c7f972d 100644 --- a/spec/features/projects/artifacts/user_browses_artifacts_spec.rb +++ b/spec/features/projects/artifacts/user_browses_artifacts_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User browses artifacts" do +RSpec.describe "User browses artifacts" do let(:project) { create(:project, :public) } let(:pipeline) { create(:ci_empty_pipeline, project: project) } let(:job) { create(:ci_build, :artifacts, pipeline: pipeline) } diff --git a/spec/features/projects/artifacts/user_downloads_artifacts_spec.rb b/spec/features/projects/artifacts/user_downloads_artifacts_spec.rb index 78ff89799ad..7d6ae03e08e 100644 --- a/spec/features/projects/artifacts/user_downloads_artifacts_spec.rb +++ b/spec/features/projects/artifacts/user_downloads_artifacts_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User downloads artifacts" do +RSpec.describe "User downloads artifacts" do let_it_be(:project) { create(:project, :repository, :public) } let_it_be(:pipeline) { create(:ci_empty_pipeline, status: :success, sha: project.commit.id, project: project) } let_it_be(:job) { create(:ci_build, :artifacts, :success, pipeline: pipeline) } diff --git a/spec/features/projects/badges/coverage_spec.rb b/spec/features/projects/badges/coverage_spec.rb index d17588bb7b4..4c144037acd 100644 --- a/spec/features/projects/badges/coverage_spec.rb +++ b/spec/features/projects/badges/coverage_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'test coverage badge' do +RSpec.describe 'test coverage badge' do let!(:user) { create(:user) } let!(:project) { create(:project, :private) } diff --git a/spec/features/projects/badges/list_spec.rb b/spec/features/projects/badges/list_spec.rb index 7a90457c942..3382bdcd65f 100644 --- a/spec/features/projects/badges/list_spec.rb +++ b/spec/features/projects/badges/list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'list of badges' do +RSpec.describe 'list of badges' do before do user = create(:user) project = create(:project, :repository) diff --git a/spec/features/projects/badges/pipeline_badge_spec.rb b/spec/features/projects/badges/pipeline_badge_spec.rb index b2f09a9d0b7..c24ab5c4058 100644 --- a/spec/features/projects/badges/pipeline_badge_spec.rb +++ b/spec/features/projects/badges/pipeline_badge_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Pipeline Badge' do +RSpec.describe 'Pipeline Badge' do let_it_be(:project) { create(:project, :repository, :public) } let(:ref) { project.default_branch } diff --git a/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb b/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb index e54137b9492..6bd6634822c 100644 --- a/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb +++ b/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Blob button line permalinks (BlobLinePermalinkUpdater)', :js do +RSpec.describe 'Blob button line permalinks (BlobLinePermalinkUpdater)', :js do include TreeHelper let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/blob_show_spec.rb b/spec/features/projects/blobs/blob_show_spec.rb index 9fc70412975..c738c5ee5fa 100644 --- a/spec/features/projects/blobs/blob_show_spec.rb +++ b/spec/features/projects/blobs/blob_show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'File blob', :js do +RSpec.describe 'File blob', :js do include MobileHelpers let(:project) { create(:project, :public, :repository) } @@ -555,6 +555,53 @@ describe 'File blob', :js do end end + describe '.gitlab/dashboards/custom-dashboard.yml' do + before do + project.add_maintainer(project.creator) + + Files::CreateService.new( + project, + project.creator, + start_branch: 'master', + branch_name: 'master', + commit_message: "Add .gitlab/dashboards/custom-dashboard.yml", + file_path: '.gitlab/dashboards/custom-dashboard.yml', + file_content: file_content + ).execute + + visit_blob('.gitlab/dashboards/custom-dashboard.yml') + end + + context 'valid dashboard file' do + let(:file_content) { File.read(Rails.root.join('config/prometheus/common_metrics.yml')) } + + it 'displays an auxiliary viewer' do + aggregate_failures do + # shows that dashboard yaml is valid + expect(page).to have_content('Metrics Dashboard YAML definition is valid.') + + # shows a learn more link + expect(page).to have_link('Learn more') + end + end + end + + context 'invalid dashboard file' do + let(:file_content) { "dashboard: 'invalid'" } + + it 'displays an auxiliary viewer' do + aggregate_failures do + # shows that dashboard yaml is invalid + expect(page).to have_content('Metrics Dashboard YAML definition is invalid:') + expect(page).to have_content("panel_groups: can't be blank") + + # shows a learn more link + expect(page).to have_link('Learn more') + end + end + end + end + context 'LICENSE' do before do visit_blob('LICENSE') diff --git a/spec/features/projects/blobs/edit_spec.rb b/spec/features/projects/blobs/edit_spec.rb index 5d62b2f87bb..56bf31f24ba 100644 --- a/spec/features/projects/blobs/edit_spec.rb +++ b/spec/features/projects/blobs/edit_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Editing file blob', :js do +RSpec.describe 'Editing file blob', :js do include TreeHelper let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/shortcuts_blob_spec.rb b/spec/features/projects/blobs/shortcuts_blob_spec.rb index bc12a8ff007..64d643aa102 100644 --- a/spec/features/projects/blobs/shortcuts_blob_spec.rb +++ b/spec/features/projects/blobs/shortcuts_blob_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Blob shortcuts', :js do +RSpec.describe 'Blob shortcuts', :js do include TreeHelper let(:project) { create(:project, :public, :repository) } let(:path) { project.repository.ls_files(project.repository.root_ref)[0] } diff --git a/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb b/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb index 30878b7fb64..f54bceec2b3 100644 --- a/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb +++ b/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User creates blob in new project', :js do +RSpec.describe 'User creates blob in new project', :js do let(:user) { create(:user) } let(:project) { create(:project, :empty_repo) } diff --git a/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb b/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb index 09130d34281..5270774b541 100644 --- a/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb +++ b/spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User follows pipeline suggest nudge spec when feature is enabled', :js do +RSpec.describe 'User follows pipeline suggest nudge spec when feature is enabled', :js do include CookieHelper let(:user) { create(:user, :admin) } diff --git a/spec/features/projects/branches/download_buttons_spec.rb b/spec/features/projects/branches/download_buttons_spec.rb index e0b0e22823e..569a93a55fc 100644 --- a/spec/features/projects/branches/download_buttons_spec.rb +++ b/spec/features/projects/branches/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Download buttons in branches page' do +RSpec.describe 'Download buttons in branches page' do let(:user) { create(:user) } let(:role) { :developer } let(:status) { 'success' } diff --git a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb index 4b6b07f6cda..5f58e446ed9 100644 --- a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb +++ b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'New Branch Ref Dropdown', :js do +RSpec.describe 'New Branch Ref Dropdown', :js do let(:user) { create(:user) } let(:project) { create(:project, :public, :repository) } let(:toggle) { find('.create-from .dropdown-menu-toggle') } diff --git a/spec/features/projects/branches/user_creates_branch_spec.rb b/spec/features/projects/branches/user_creates_branch_spec.rb index 8aac188160b..52c860bfe36 100644 --- a/spec/features/projects/branches/user_creates_branch_spec.rb +++ b/spec/features/projects/branches/user_creates_branch_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User creates branch", :js do +RSpec.describe "User creates branch", :js do include Spec::Support::Helpers::Features::BranchesHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/branches/user_deletes_branch_spec.rb b/spec/features/projects/branches/user_deletes_branch_spec.rb index 184954c1c78..21a1d31bad4 100644 --- a/spec/features/projects/branches/user_deletes_branch_spec.rb +++ b/spec/features/projects/branches/user_deletes_branch_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User deletes branch", :js do +RSpec.describe "User deletes branch", :js do let_it_be(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/branches/user_views_branches_spec.rb b/spec/features/projects/branches/user_views_branches_spec.rb index e127e784b94..19d96579785 100644 --- a/spec/features/projects/branches/user_views_branches_spec.rb +++ b/spec/features/projects/branches/user_views_branches_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User views branches" do +RSpec.describe "User views branches" do let_it_be(:project) { create(:project, :repository) } let_it_be(:user) { project.owner } diff --git a/spec/features/projects/branches_spec.rb b/spec/features/projects/branches_spec.rb index 9dc0f7c90c2..dbd1cebd515 100644 --- a/spec/features/projects/branches_spec.rb +++ b/spec/features/projects/branches_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Branches' do +RSpec.describe 'Branches' do let(:user) { create(:user) } let(:project) { create(:project, :public, :repository) } let(:repository) { project.repository } @@ -231,6 +231,44 @@ describe 'Branches' do end end + context 'with one or more pipeline', :js do + before do + sha = create_file(branch_name: "branch") + create(:ci_pipeline, + project: project, + user: user, + ref: "branch", + sha: sha, + status: :success, + created_at: 5.months.ago) + visit project_branches_path(project) + end + + it 'shows pipeline status when available' do + page.within first('.all-branches li') do + expect(page).to have_css 'a.ci-status-icon-success' + end + end + + it 'displays a placeholder when not available' do + page.all('.all-branches li') do |li| + expect(li).to have_css 'svg.s24' + end + end + end + + context 'with no pipelines', :js do + before do + visit project_branches_path(project) + end + + it 'does not show placeholder or pipeline status' do + page.all('.all-branches') do |branches| + expect(branches).not_to have_css 'svg.s24' + end + end + end + describe 'comparing branches' do before do sign_in(user) diff --git a/spec/features/projects/ci/lint_spec.rb b/spec/features/projects/ci/lint_spec.rb index 521cfb54cd2..f3845bb8dec 100644 --- a/spec/features/projects/ci/lint_spec.rb +++ b/spec/features/projects/ci/lint_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'CI Lint', :js do +RSpec.describe 'CI Lint', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/classification_label_on_project_pages_spec.rb b/spec/features/projects/classification_label_on_project_pages_spec.rb index 92f8aa8eb8d..0f07ca7635b 100644 --- a/spec/features/projects/classification_label_on_project_pages_spec.rb +++ b/spec/features/projects/classification_label_on_project_pages_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Classification label on project pages' do +RSpec.describe 'Classification label on project pages' do let(:project) do create(:project, external_authorization_classification_label: 'authorized label') end diff --git a/spec/features/projects/clusters/applications_spec.rb b/spec/features/projects/clusters/applications_spec.rb index ce971b158a3..74b477dd85d 100644 --- a/spec/features/projects/clusters/applications_spec.rb +++ b/spec/features/projects/clusters/applications_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require_relative '../../../../spec/features/clusters/installing_applications_shared_examples' -describe 'Project-level Cluster Applications', :js do +RSpec.describe 'Project-level Cluster Applications', :js do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/clusters/eks_spec.rb b/spec/features/projects/clusters/eks_spec.rb index a856376cb4b..c5feef6c6f3 100644 --- a/spec/features/projects/clusters/eks_spec.rb +++ b/spec/features/projects/clusters/eks_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'AWS EKS Cluster', :js do +RSpec.describe 'AWS EKS Cluster', :js do let(:project) { create(:project) } let(:user) { create(:user) } diff --git a/spec/features/projects/clusters/gcp_spec.rb b/spec/features/projects/clusters/gcp_spec.rb index b35e79bef43..3e1006920e7 100644 --- a/spec/features/projects/clusters/gcp_spec.rb +++ b/spec/features/projects/clusters/gcp_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do +RSpec.describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/clusters/user_spec.rb b/spec/features/projects/clusters/user_spec.rb index 5c82d848563..15fed0c2727 100644 --- a/spec/features/projects/clusters/user_spec.rb +++ b/spec/features/projects/clusters/user_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User Cluster', :js do +RSpec.describe 'User Cluster', :js do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/clusters_spec.rb b/spec/features/projects/clusters_spec.rb index fc2de4df5ec..1cf214a5c4e 100644 --- a/spec/features/projects/clusters_spec.rb +++ b/spec/features/projects/clusters_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Clusters', :js do +RSpec.describe 'Clusters', :js do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/commit/builds_spec.rb b/spec/features/projects/commit/builds_spec.rb index d28ff5d3b5f..13f73b8cf44 100644 --- a/spec/features/projects/commit/builds_spec.rb +++ b/spec/features/projects/commit/builds_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'project commit pipelines', :js do +RSpec.describe 'project commit pipelines', :js do let(:project) { create(:project, :repository) } before do diff --git a/spec/features/projects/commit/cherry_pick_spec.rb b/spec/features/projects/commit/cherry_pick_spec.rb index 34b15aeaa25..9fe3f4cd63e 100644 --- a/spec/features/projects/commit/cherry_pick_spec.rb +++ b/spec/features/projects/commit/cherry_pick_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Cherry-pick Commits' do +RSpec.describe 'Cherry-pick Commits' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, :repository, namespace: group) } diff --git a/spec/features/projects/commit/comments/user_adds_comment_spec.rb b/spec/features/projects/commit/comments/user_adds_comment_spec.rb index bae8e6dc827..a470215186b 100644 --- a/spec/features/projects/commit/comments/user_adds_comment_spec.rb +++ b/spec/features/projects/commit/comments/user_adds_comment_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User adds a comment on a commit", :js do +RSpec.describe "User adds a comment on a commit", :js do include Spec::Support::Helpers::Features::NotesHelpers include RepoHelpers diff --git a/spec/features/projects/commit/comments/user_deletes_comments_spec.rb b/spec/features/projects/commit/comments/user_deletes_comments_spec.rb index 2993a402e37..431cbb4ffbb 100644 --- a/spec/features/projects/commit/comments/user_deletes_comments_spec.rb +++ b/spec/features/projects/commit/comments/user_deletes_comments_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User deletes comments on a commit", :js do +RSpec.describe "User deletes comments on a commit", :js do include Spec::Support::Helpers::Features::NotesHelpers include RepoHelpers diff --git a/spec/features/projects/commit/comments/user_edits_comments_spec.rb b/spec/features/projects/commit/comments/user_edits_comments_spec.rb index 29132173674..787d8cdb02b 100644 --- a/spec/features/projects/commit/comments/user_edits_comments_spec.rb +++ b/spec/features/projects/commit/comments/user_edits_comments_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User edits a comment on a commit", :js do +RSpec.describe "User edits a comment on a commit", :js do include Spec::Support::Helpers::Features::NotesHelpers include RepoHelpers diff --git a/spec/features/projects/commit/diff_notes_spec.rb b/spec/features/projects/commit/diff_notes_spec.rb index 04bd66df28d..ff86047d812 100644 --- a/spec/features/projects/commit/diff_notes_spec.rb +++ b/spec/features/projects/commit/diff_notes_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Commit diff', :js do +RSpec.describe 'Commit diff', :js do include RepoHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/commit/mini_pipeline_graph_spec.rb b/spec/features/projects/commit/mini_pipeline_graph_spec.rb index 3d9fcfe0f62..9349f36282d 100644 --- a/spec/features/projects/commit/mini_pipeline_graph_spec.rb +++ b/spec/features/projects/commit/mini_pipeline_graph_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Mini Pipeline Graph in Commit View', :js do +RSpec.describe 'Mini Pipeline Graph in Commit View', :js do let(:project) { create(:project, :public, :repository) } context 'when commit has pipelines' do diff --git a/spec/features/projects/commit/user_comments_on_commit_spec.rb b/spec/features/projects/commit/user_comments_on_commit_spec.rb index f4fea9b9ae0..87a022d74a3 100644 --- a/spec/features/projects/commit/user_comments_on_commit_spec.rb +++ b/spec/features/projects/commit/user_comments_on_commit_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User comments on commit", :js do +RSpec.describe "User comments on commit", :js do include Spec::Support::Helpers::Features::NotesHelpers include RepoHelpers diff --git a/spec/features/projects/commit/user_reverts_commit_spec.rb b/spec/features/projects/commit/user_reverts_commit_spec.rb index 39ee72a4a99..ca4e070703b 100644 --- a/spec/features/projects/commit/user_reverts_commit_spec.rb +++ b/spec/features/projects/commit/user_reverts_commit_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User reverts a commit', :js do +RSpec.describe 'User reverts a commit', :js do include RepoHelpers let(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/commit/user_views_user_status_on_commit_spec.rb b/spec/features/projects/commit/user_views_user_status_on_commit_spec.rb index c07f6081d2c..71405cf917d 100644 --- a/spec/features/projects/commit/user_views_user_status_on_commit_spec.rb +++ b/spec/features/projects/commit/user_views_user_status_on_commit_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Commit > View user status' do +RSpec.describe 'Project > Commit > View user status' do include RepoHelpers let_it_be(:project) { create(:project, :repository) } diff --git a/spec/features/projects/commits/rss_spec.rb b/spec/features/projects/commits/rss_spec.rb index 0266df48d4a..b521bb865ae 100644 --- a/spec/features/projects/commits/rss_spec.rb +++ b/spec/features/projects/commits/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Commits RSS' do +RSpec.describe 'Project Commits RSS' do let(:user) { create(:user) } let(:project) { create(:project, :repository, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_commits_path(project, :master) } diff --git a/spec/features/projects/commits/user_browses_commits_spec.rb b/spec/features/projects/commits/user_browses_commits_spec.rb index 7e59e36ccb7..2796156bfbf 100644 --- a/spec/features/projects/commits/user_browses_commits_spec.rb +++ b/spec/features/projects/commits/user_browses_commits_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User browses commits' do +RSpec.describe 'User browses commits' do include RepoHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/compare_spec.rb b/spec/features/projects/compare_spec.rb index df5cec80ae4..865ae3ad8cb 100644 --- a/spec/features/projects/compare_spec.rb +++ b/spec/features/projects/compare_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "Compare", :js do +RSpec.describe "Compare", :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/container_registry_spec.rb b/spec/features/projects/container_registry_spec.rb index a75da5f1080..f561149d2ad 100644 --- a/spec/features/projects/container_registry_spec.rb +++ b/spec/features/projects/container_registry_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Container Registry', :js do +RSpec.describe 'Container Registry', :js do let(:user) { create(:user) } let(:project) { create(:project) } @@ -30,10 +30,10 @@ describe 'Container Registry', :js do expect(page).to have_content _('There are no container images stored for this project') end - it 'list page has quickstart' do + it 'list page has cli commands' do visit_container_registry - expect(page).to have_content _('Quick Start') + expect(page).to have_content _('CLI Commands') end end @@ -84,7 +84,7 @@ describe 'Container Registry', :js do expect(service).to receive(:execute).with(container_repository) { { status: :success } } expect(Projects::ContainerRepository::DeleteTagsService).to receive(:new).with(container_repository.project, user, tags: ['1']) { service } - first('.js-delete-registry').click + first('[data-testid="singleDeleteButton"]').click expect(find('.modal .modal-title')).to have_content _('Remove tag') find('.modal .modal-footer .btn-danger').click end diff --git a/spec/features/projects/deploy_keys_spec.rb b/spec/features/projects/deploy_keys_spec.rb index 687b6461f05..70d47516246 100644 --- a/spec/features/projects/deploy_keys_spec.rb +++ b/spec/features/projects/deploy_keys_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project deploy keys', :js do +RSpec.describe 'Project deploy keys', :js do let(:user) { create(:user) } let(:project) { create(:project_empty_repo) } diff --git a/spec/features/projects/diffs/diff_show_spec.rb b/spec/features/projects/diffs/diff_show_spec.rb index df94d6debd6..19f111a727b 100644 --- a/spec/features/projects/diffs/diff_show_spec.rb +++ b/spec/features/projects/diffs/diff_show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Diff file viewer', :js do +RSpec.describe 'Diff file viewer', :js do let(:project) { create(:project, :public, :repository) } def visit_commit(sha, anchor: nil) diff --git a/spec/features/projects/environments/environment_metrics_spec.rb b/spec/features/projects/environments/environment_metrics_spec.rb index 150df66bdd7..a3b979d0f42 100644 --- a/spec/features/projects/environments/environment_metrics_spec.rb +++ b/spec/features/projects/environments/environment_metrics_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Environment > Metrics' do +RSpec.describe 'Environment > Metrics' do include PrometheusHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/environments/environment_spec.rb b/spec/features/projects/environments/environment_spec.rb index bbd33225bb9..fa10e429af2 100644 --- a/spec/features/projects/environments/environment_spec.rb +++ b/spec/features/projects/environments/environment_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Environment' do +RSpec.describe 'Environment' do let(:project) { create(:project, :repository) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/environments/environments_spec.rb b/spec/features/projects/environments/environments_spec.rb index cee9b6d50ba..b3f671d57a9 100644 --- a/spec/features/projects/environments/environments_spec.rb +++ b/spec/features/projects/environments/environments_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Environments page', :js do +RSpec.describe 'Environments page', :js do let(:project) { create(:project) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/environments_pod_logs_spec.rb b/spec/features/projects/environments_pod_logs_spec.rb index 32eaf690950..82dafbc6237 100644 --- a/spec/features/projects/environments_pod_logs_spec.rb +++ b/spec/features/projects/environments_pod_logs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Environment > Pod Logs', :js, :kubeclient do +RSpec.describe 'Environment > Pod Logs', :js, :kubeclient do include KubernetesHelpers let(:pod_names) { %w(kube-pod) } diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb index 9854335a7ad..d84c39de8d8 100644 --- a/spec/features/projects/features_visibility_spec.rb +++ b/spec/features/projects/features_visibility_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Edit Project Settings' do +RSpec.describe 'Edit Project Settings' do let(:member) { create(:user) } let!(:project) { create(:project, :public, :repository) } let!(:issue) { create(:issue, project: project) } @@ -94,7 +94,7 @@ describe 'Edit Project Settings' do { builds: project_job_path(project, job), issues: project_issues_path(project), - wiki: project_wiki_path(project, :home), + wiki: wiki_path(project.wiki), snippets: project_snippets_path(project), merge_requests: project_merge_requests_path(project) } diff --git a/spec/features/projects/files/dockerfile_dropdown_spec.rb b/spec/features/projects/files/dockerfile_dropdown_spec.rb index 756f2f2d493..a99df8a79d8 100644 --- a/spec/features/projects/files/dockerfile_dropdown_spec.rb +++ b/spec/features/projects/files/dockerfile_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User wants to add a Dockerfile file' do +RSpec.describe 'Projects > Files > User wants to add a Dockerfile file' do before do project = create(:project, :repository) sign_in project.owner diff --git a/spec/features/projects/files/download_buttons_spec.rb b/spec/features/projects/files/download_buttons_spec.rb index 871f5212ddd..a486d7517ac 100644 --- a/spec/features/projects/files/download_buttons_spec.rb +++ b/spec/features/projects/files/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Download buttons in files tree' do +RSpec.describe 'Projects > Files > Download buttons in files tree' do let(:project) { create(:project, :repository) } let(:user) { project.creator } diff --git a/spec/features/projects/files/edit_file_soft_wrap_spec.rb b/spec/features/projects/files/edit_file_soft_wrap_spec.rb index 53b1a522a8e..ede22204dbd 100644 --- a/spec/features/projects/files/edit_file_soft_wrap_spec.rb +++ b/spec/features/projects/files/edit_file_soft_wrap_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User uses soft wrap while editing file', :js do +RSpec.describe 'Projects > Files > User uses soft wrap while editing file', :js do before do project = create(:project, :repository) user = project.owner diff --git a/spec/features/projects/files/editing_a_file_spec.rb b/spec/features/projects/files/editing_a_file_spec.rb index 085276f96a8..819864b3def 100644 --- a/spec/features/projects/files/editing_a_file_spec.rb +++ b/spec/features/projects/files/editing_a_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User wants to edit a file' do +RSpec.describe 'Projects > Files > User wants to edit a file' do let(:project) { create(:project, :repository) } let(:user) { project.owner } let(:commit_params) do diff --git a/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb b/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb index 622764487d8..94190889ace 100644 --- a/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb +++ b/spec/features/projects/files/files_sort_submodules_with_folders_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User views files page' do +RSpec.describe 'Projects > Files > User views files page' do let(:project) { create(:forked_project_with_submodules) } let(:user) { project.owner } diff --git a/spec/features/projects/files/find_file_keyboard_spec.rb b/spec/features/projects/files/find_file_keyboard_spec.rb index b680be09444..4293183fd9a 100644 --- a/spec/features/projects/files/find_file_keyboard_spec.rb +++ b/spec/features/projects/files/find_file_keyboard_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Find file keyboard shortcuts', :js do +RSpec.describe 'Projects > Files > Find file keyboard shortcuts', :js do let(:project) { create(:project, :repository) } let(:user) { project.owner } diff --git a/spec/features/projects/files/gitignore_dropdown_spec.rb b/spec/features/projects/files/gitignore_dropdown_spec.rb index a8c6e780d47..dae1164f7f2 100644 --- a/spec/features/projects/files/gitignore_dropdown_spec.rb +++ b/spec/features/projects/files/gitignore_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User wants to add a .gitignore file' do +RSpec.describe 'Projects > Files > User wants to add a .gitignore file' do before do project = create(:project, :repository) sign_in project.owner diff --git a/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb b/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb index 107d426a893..879cb6a65c8 100644 --- a/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb +++ b/spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User wants to add a .gitlab-ci.yml file' do +RSpec.describe 'Projects > Files > User wants to add a .gitlab-ci.yml file' do before do project = create(:project, :repository) sign_in project.owner diff --git a/spec/features/projects/files/project_owner_creates_license_file_spec.rb b/spec/features/projects/files/project_owner_creates_license_file_spec.rb index 9fccb3441d6..ab62e8aabc0 100644 --- a/spec/features/projects/files/project_owner_creates_license_file_spec.rb +++ b/spec/features/projects/files/project_owner_creates_license_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Project owner creates a license file', :js do +RSpec.describe 'Projects > Files > Project owner creates a license file', :js do let(:project) { create(:project, :repository) } let(:project_maintainer) { project.owner } diff --git a/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb b/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb index ad6c565c8f9..eed1e7aaf1b 100644 --- a/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb +++ b/spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Project owner sees a link to create a license file in empty project', :js do +RSpec.describe 'Projects > Files > Project owner sees a link to create a license file in empty project', :js do let(:project) { create(:project_empty_repo) } let(:project_maintainer) { project.owner } diff --git a/spec/features/projects/files/template_selector_menu_spec.rb b/spec/features/projects/files/template_selector_menu_spec.rb index 838a484d62e..51ae6616d4a 100644 --- a/spec/features/projects/files/template_selector_menu_spec.rb +++ b/spec/features/projects/files/template_selector_menu_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Template selector menu', :js do +RSpec.describe 'Template selector menu', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/files/template_type_dropdown_spec.rb b/spec/features/projects/files/template_type_dropdown_spec.rb index 5ea0b9b015f..ca9ce841a92 100644 --- a/spec/features/projects/files/template_type_dropdown_spec.rb +++ b/spec/features/projects/files/template_type_dropdown_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Template type dropdown selector', :js do +RSpec.describe 'Projects > Files > Template type dropdown selector', :js do let(:project) { create(:project, :repository) } let(:user) { project.owner } diff --git a/spec/features/projects/files/undo_template_spec.rb b/spec/features/projects/files/undo_template_spec.rb index 887214e1dbf..09ae595490a 100644 --- a/spec/features/projects/files/undo_template_spec.rb +++ b/spec/features/projects/files/undo_template_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > Template Undo Button', :js do +RSpec.describe 'Projects > Files > Template Undo Button', :js do let(:project) { create(:project, :repository) } let(:user) { project.owner } diff --git a/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb b/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb index e88fad9d3f7..4d9da783f98 100644 --- a/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb +++ b/spec/features/projects/files/user_browses_a_tree_with_a_folder_containing_only_a_folder_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' # This is a regression test for https://gitlab.com/gitlab-org/gitlab-foss/issues/37569 -describe 'Projects > Files > User browses a tree with a folder containing only a folder', :js do +RSpec.describe 'Projects > Files > User browses a tree with a folder containing only a folder', :js do let(:project) { create(:project, :empty_repo) } let(:user) { project.owner } diff --git a/spec/features/projects/files/user_browses_files_spec.rb b/spec/features/projects/files/user_browses_files_spec.rb index 7e3d8e5c1c5..44b5833a8c8 100644 --- a/spec/features/projects/files/user_browses_files_spec.rb +++ b/spec/features/projects/files/user_browses_files_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User browses files" do +RSpec.describe "User browses files" do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_browses_lfs_files_spec.rb b/spec/features/projects/files/user_browses_lfs_files_spec.rb index dbeec973865..ecc56b794b2 100644 --- a/spec/features/projects/files/user_browses_lfs_files_spec.rb +++ b/spec/features/projects/files/user_browses_lfs_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User browses LFS files' do +RSpec.describe 'Projects > Files > User browses LFS files' do let(:project) { create(:project, :repository) } let(:user) { project.owner } diff --git a/spec/features/projects/files/user_creates_directory_spec.rb b/spec/features/projects/files/user_creates_directory_spec.rb index 4291f0a74f8..47c5d667f4f 100644 --- a/spec/features/projects/files/user_creates_directory_spec.rb +++ b/spec/features/projects/files/user_creates_directory_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User creates a directory', :js do +RSpec.describe 'Projects > Files > User creates a directory', :js do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_creates_files_spec.rb b/spec/features/projects/files/user_creates_files_spec.rb index 2d4f22e299e..7d412730115 100644 --- a/spec/features/projects/files/user_creates_files_spec.rb +++ b/spec/features/projects/files/user_creates_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User creates files', :js do +RSpec.describe 'Projects > Files > User creates files', :js do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_deletes_files_spec.rb b/spec/features/projects/files/user_deletes_files_spec.rb index 5e36407d9cb..70f125560e0 100644 --- a/spec/features/projects/files/user_deletes_files_spec.rb +++ b/spec/features/projects/files/user_deletes_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User deletes files', :js do +RSpec.describe 'Projects > Files > User deletes files', :js do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." diff --git a/spec/features/projects/files/user_edits_files_spec.rb b/spec/features/projects/files/user_edits_files_spec.rb index cc428dce2a8..1bb931e35ec 100644 --- a/spec/features/projects/files/user_edits_files_spec.rb +++ b/spec/features/projects/files/user_edits_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User edits files', :js do +RSpec.describe 'Projects > Files > User edits files', :js do include ProjectForksHelper let(:project) { create(:project, :repository, name: 'Shop') } let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') } diff --git a/spec/features/projects/files/user_find_file_spec.rb b/spec/features/projects/files/user_find_file_spec.rb index 72f6ccb20d6..69ea8b0eb5f 100644 --- a/spec/features/projects/files/user_find_file_spec.rb +++ b/spec/features/projects/files/user_find_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User find project file' do +RSpec.describe 'User find project file' do let(:user) { create :user } let(:project) { create :project, :repository } diff --git a/spec/features/projects/files/user_reads_pipeline_status_spec.rb b/spec/features/projects/files/user_reads_pipeline_status_spec.rb index 9d38c44b6ef..294a03813cd 100644 --- a/spec/features/projects/files/user_reads_pipeline_status_spec.rb +++ b/spec/features/projects/files/user_reads_pipeline_status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'user reads pipeline status', :js do +RSpec.describe 'user reads pipeline status', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } let(:v110_pipeline) { create_pipeline('v1.1.0', 'success') } diff --git a/spec/features/projects/files/user_replaces_files_spec.rb b/spec/features/projects/files/user_replaces_files_spec.rb index e1eefdcc40f..1d4085ef21c 100644 --- a/spec/features/projects/files/user_replaces_files_spec.rb +++ b/spec/features/projects/files/user_replaces_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User replaces files', :js do +RSpec.describe 'Projects > Files > User replaces files', :js do include DropzoneHelper let(:fork_message) do diff --git a/spec/features/projects/files/user_searches_for_files_spec.rb b/spec/features/projects/files/user_searches_for_files_spec.rb index ff7547bce83..7fd7dfff279 100644 --- a/spec/features/projects/files/user_searches_for_files_spec.rb +++ b/spec/features/projects/files/user_searches_for_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User searches for files' do +RSpec.describe 'Projects > Files > User searches for files' do let(:user) { project.owner } before do diff --git a/spec/features/projects/files/user_uploads_files_spec.rb b/spec/features/projects/files/user_uploads_files_spec.rb index ecf40969541..944d08df3f3 100644 --- a/spec/features/projects/files/user_uploads_files_spec.rb +++ b/spec/features/projects/files/user_uploads_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Files > User uploads files' do +RSpec.describe 'Projects > Files > User uploads files' do include DropzoneHelper let(:user) { create(:user) } diff --git a/spec/features/projects/fork_spec.rb b/spec/features/projects/fork_spec.rb index bfab4387688..f0ed4013230 100644 --- a/spec/features/projects/fork_spec.rb +++ b/spec/features/projects/fork_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project fork' do +RSpec.describe 'Project fork' do include ProjectForksHelper let(:user) { create(:user) } diff --git a/spec/features/projects/forks/fork_list_spec.rb b/spec/features/projects/forks/fork_list_spec.rb index 3b63d9a4c2d..b48c46ef8cb 100644 --- a/spec/features/projects/forks/fork_list_spec.rb +++ b/spec/features/projects/forks/fork_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'listing forks of a project' do +RSpec.describe 'listing forks of a project' do include ProjectForksHelper include ExternalAuthorizationServiceHelpers diff --git a/spec/features/projects/gfm_autocomplete_load_spec.rb b/spec/features/projects/gfm_autocomplete_load_spec.rb index ad39dec0a43..b02483be489 100644 --- a/spec/features/projects/gfm_autocomplete_load_spec.rb +++ b/spec/features/projects/gfm_autocomplete_load_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'GFM autocomplete loading', :js do +RSpec.describe 'GFM autocomplete loading', :js do let(:project) { create(:project) } before do diff --git a/spec/features/projects/graph_spec.rb b/spec/features/projects/graph_spec.rb index 25efb7b28a7..7b9f79c9f7f 100644 --- a/spec/features/projects/graph_spec.rb +++ b/spec/features/projects/graph_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Graph', :js do +RSpec.describe 'Project Graph', :js do let(:user) { create :user } let(:project) { create(:project, :repository, namespace: user.namespace) } let(:branch_name) { 'master' } diff --git a/spec/features/projects/hook_logs/user_reads_log_spec.rb b/spec/features/projects/hook_logs/user_reads_log_spec.rb index 8c666f5d67a..8513a9374d1 100644 --- a/spec/features/projects/hook_logs/user_reads_log_spec.rb +++ b/spec/features/projects/hook_logs/user_reads_log_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Hook logs' do +RSpec.describe 'Hook logs' do let(:web_hook_log) { create(:web_hook_log, response_body: '<script>') } let(:project) { web_hook_log.web_hook.project } let(:user) { create(:user) } diff --git a/spec/features/projects/import_export/export_file_spec.rb b/spec/features/projects/import_export/export_file_spec.rb index 1d6d5ae1b4d..86aeb2bc80c 100644 --- a/spec/features/projects/import_export/export_file_spec.rb +++ b/spec/features/projects/import_export/export_file_spec.rb @@ -6,7 +6,7 @@ require 'spec_helper' # It looks up for any sensitive word inside the JSON, so if a sensitive word is found # we'll have to either include it adding the model that includes it to the +safe_list+ # or make sure the attribute is blacklisted in the +import_export.yml+ configuration -describe 'Import/Export - project export integration test', :js do +RSpec.describe 'Import/Export - project export integration test', :js do include Select2Helper include ExportFileHelper diff --git a/spec/features/projects/import_export/import_file_spec.rb b/spec/features/projects/import_export/import_file_spec.rb index 33c7182c084..83ceffa621c 100644 --- a/spec/features/projects/import_export/import_file_spec.rb +++ b/spec/features/projects/import_export/import_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Import/Export - project import integration test', :js do +RSpec.describe 'Import/Export - project import integration test', :js do include GitHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/issuable_templates_spec.rb b/spec/features/projects/issuable_templates_spec.rb index 4b6f1672f08..8f1c31f229f 100644 --- a/spec/features/projects/issuable_templates_spec.rb +++ b/spec/features/projects/issuable_templates_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'issuable templates', :js do +RSpec.describe 'issuable templates', :js do include ProjectForksHelper let(:user) { create(:user) } diff --git a/spec/features/projects/issues/design_management/user_links_to_designs_in_issue_spec.rb b/spec/features/projects/issues/design_management/user_links_to_designs_in_issue_spec.rb new file mode 100644 index 00000000000..8d5e99d7e2b --- /dev/null +++ b/spec/features/projects/issues/design_management/user_links_to_designs_in_issue_spec.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'viewing issues with design references' do + include DesignManagementTestHelpers + + let_it_be(:public_project) { create(:project_empty_repo, :public) } + let_it_be(:private_project) { create(:project_empty_repo) } + + let(:user) { create(:user) } + let(:design_issue) { create(:issue, project: project) } + let(:design_a) { create(:design, :with_file, issue: design_issue) } + let(:design_b) { create(:design, :with_file, issue: design_issue) } + let(:issue_ref) { design_issue.to_reference(public_project) } + let(:design_ref_a) { design_a.to_reference(public_project) } + let(:design_ref_b) { design_b.to_reference(public_project) } + let(:design_tab_ref) { "#{issue_ref} (designs)" } + + let(:description) do + <<~MD + The designs I mentioned: + + * #{url_for_designs(design_issue)} + * #{url_for_design(design_a)} + * #{url_for_design(design_b)} + MD + end + + def visit_page_with_design_references + public_issue = create(:issue, project: public_project, description: description) + visit project_issue_path(public_issue.project, public_issue) + end + + shared_examples 'successful use of design link references' do + before do + enable_design_management + end + + it 'shows the issue description and design references', :aggregate_failures do + visit_page_with_design_references + + expect(page).to have_text('The designs I mentioned') + expect(page).to have_link(design_tab_ref) + expect(page).to have_link(design_ref_a) + expect(page).to have_link(design_ref_b) + end + end + + context 'the user has access to a public project' do + let(:project) { public_project } + + it_behaves_like 'successful use of design link references' + end + + context 'the user does not have access to a private project' do + let(:project) { private_project } + + it 'redacts inaccessible design references', :aggregate_failures do + visit_page_with_design_references + + expect(page).to have_text('The designs I mentioned') + expect(page).not_to have_link(issue_ref) + expect(page).not_to have_link(design_tab_ref) + expect(page).not_to have_link(design_ref_a) + expect(page).not_to have_link(design_ref_b) + end + end + + context 'the user has access to a private project' do + let(:project) { private_project } + + before do + project.add_developer(user) + sign_in(user) + end + + it_behaves_like 'successful use of design link references' + + context 'design management is entirely disabled' do + it 'processes design links as issue references', :aggregate_failures do + enable_design_management(false) + + visit_page_with_design_references + + expect(page).to have_text('The designs I mentioned') + expect(page).to have_link(issue_ref) + expect(page).not_to have_link(design_tab_ref) + expect(page).not_to have_link(design_ref_a) + expect(page).not_to have_link(design_ref_b) + end + end + + context 'design management is enabled, but the filter is disabled globally' do + before do + enable_design_management + stub_feature_flags( + Banzai::Filter::DesignReferenceFilter::FEATURE_FLAG => false + ) + end + + it 'processes design tab links successfully, and design references as issue references', :aggregate_failures do + visit_page_with_design_references + + expect(page).to have_text('The designs I mentioned') + expect(page).to have_link(design_tab_ref) + expect(page).to have_link(issue_ref) + expect(page).not_to have_link(design_ref_a) + expect(page).not_to have_link(design_ref_b) + end + end + + context 'design management is enabled, and the filter is enabled for the current project' do + before do + stub_feature_flags( + Banzai::Filter::DesignReferenceFilter::FEATURE_FLAG => public_project + ) + end + + it_behaves_like 'successful use of design link references' + end + end +end diff --git a/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb b/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb index d9a72f2d5c5..f871ca60596 100644 --- a/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_paginates_designs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User paginates issue designs', :js do +RSpec.describe 'User paginates issue designs', :js do include DesignManagementTestHelpers let(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb b/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb index 2238e86a47f..902a84afc83 100644 --- a/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb +++ b/spec/features/projects/issues/design_management/user_permissions_upload_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User design permissions', :js do +RSpec.describe 'User design permissions', :js do include DesignManagementTestHelpers let(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb b/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb index d160ab95a65..66b449a9de5 100644 --- a/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_uploads_designs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User uploads new design', :js do +RSpec.describe 'User uploads new design', :js do include DesignManagementTestHelpers let_it_be(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/design_management/user_views_design_images_spec.rb b/spec/features/projects/issues/design_management/user_views_design_images_spec.rb index 3d0f4df55c4..4a4c33cb881 100644 --- a/spec/features/projects/issues/design_management/user_views_design_images_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_design_images_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Users views raw design image files' do +RSpec.describe 'Users views raw design image files' do include DesignManagementTestHelpers let_it_be(:project) { create(:project, :public) } diff --git a/spec/features/projects/issues/design_management/user_views_design_spec.rb b/spec/features/projects/issues/design_management/user_views_design_spec.rb index 707049b0068..527442d5339 100644 --- a/spec/features/projects/issues/design_management/user_views_design_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_design_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views issue designs', :js do +RSpec.describe 'User views issue designs', :js do include DesignManagementTestHelpers let_it_be(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/design_management/user_views_designs_spec.rb b/spec/features/projects/issues/design_management/user_views_designs_spec.rb index a4fb7456922..d371ae1aad7 100644 --- a/spec/features/projects/issues/design_management/user_views_designs_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_designs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views issue designs', :js do +RSpec.describe 'User views issue designs', :js do include DesignManagementTestHelpers let_it_be(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb b/spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb index a9e4aa899a7..5bc1271309c 100644 --- a/spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb +++ b/spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views an SVG design that contains XSS', :js do +RSpec.describe 'User views an SVG design that contains XSS', :js do include DesignManagementTestHelpers let(:project) { create(:project_empty_repo, :public) } diff --git a/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb b/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb index 6c8f4b51ea0..6feefff9207 100644 --- a/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb +++ b/spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'viewing an issue with cross project references' do +RSpec.describe 'viewing an issue with cross project references' do include ExternalAuthorizationServiceHelpers include Gitlab::Routing.url_helpers diff --git a/spec/features/projects/jobs/permissions_spec.rb b/spec/features/projects/jobs/permissions_spec.rb index d78cf674dc6..7f46a369dd6 100644 --- a/spec/features/projects/jobs/permissions_spec.rb +++ b/spec/features/projects/jobs/permissions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Jobs Permissions' do +RSpec.describe 'Project Jobs Permissions' do let(:user) { create(:user) } let(:group) { create(:group, name: 'some group') } let(:project) { create(:project, :repository, namespace: group) } diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index 16ba1c1b73d..67299e852b3 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User browses a job', :js do +RSpec.describe 'User browses a job', :js do let(:user) { create(:user) } let(:user_access_level) { :developer } let(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/jobs/user_browses_jobs_spec.rb b/spec/features/projects/jobs/user_browses_jobs_spec.rb index 44709cb1230..c768b0e281c 100644 --- a/spec/features/projects/jobs/user_browses_jobs_spec.rb +++ b/spec/features/projects/jobs/user_browses_jobs_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User browses jobs' do +RSpec.describe 'User browses jobs' do let!(:build) { create(:ci_build, :coverage, pipeline: pipeline) } let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') } let(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index a17793bc6d6..e78e8989575 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require 'tempfile' -describe 'Jobs', :clean_gitlab_redis_shared_state do +RSpec.describe 'Jobs', :clean_gitlab_redis_shared_state do include Gitlab::Routing include ProjectForksHelper @@ -940,7 +940,7 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do it 'renders message about job being stuck because of no runners with the specified tags' do expect(page).to have_css('.js-stuck-with-tags') - expect(page).to have_content("This job is stuck because you don't have any active runners online with any of these tags assigned to them:") + expect(page).to have_content("This job is stuck because you don't have any active runners online or available with any of these tags assigned to them:") end end @@ -950,7 +950,7 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do it 'renders message about job being stuck because of no runners with the specified tags' do expect(page).to have_css('.js-stuck-with-tags') - expect(page).to have_content("This job is stuck because you don't have any active runners online with any of these tags assigned to them:") + expect(page).to have_content("This job is stuck because you don't have any active runners online or available with any of these tags assigned to them:") end end diff --git a/spec/features/projects/labels/issues_sorted_by_priority_spec.rb b/spec/features/projects/labels/issues_sorted_by_priority_spec.rb index 503ac8caddf..66d61e629df 100644 --- a/spec/features/projects/labels/issues_sorted_by_priority_spec.rb +++ b/spec/features/projects/labels/issues_sorted_by_priority_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Issue prioritization' do +RSpec.describe 'Issue prioritization' do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } diff --git a/spec/features/projects/labels/search_labels_spec.rb b/spec/features/projects/labels/search_labels_spec.rb index e2eec7400ff..04dfd4ca5f1 100644 --- a/spec/features/projects/labels/search_labels_spec.rb +++ b/spec/features/projects/labels/search_labels_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Search for labels', :js do +RSpec.describe 'Search for labels', :js do let(:user) { create(:user) } let(:project) { create(:project) } let!(:label1) { create(:label, title: 'Foo', description: 'Lorem ipsum', project: project) } diff --git a/spec/features/projects/labels/sort_labels_spec.rb b/spec/features/projects/labels/sort_labels_spec.rb index 01c3f251173..83559b816d2 100644 --- a/spec/features/projects/labels/sort_labels_spec.rb +++ b/spec/features/projects/labels/sort_labels_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Sort labels', :js do +RSpec.describe 'Sort labels', :js do let(:user) { create(:user) } let(:project) { create(:project) } let!(:label1) { create(:label, title: 'Foo', description: 'Lorem ipsum', project: project) } diff --git a/spec/features/projects/labels/subscription_spec.rb b/spec/features/projects/labels/subscription_spec.rb index 1d0f9e73a1b..7ca8a542c21 100644 --- a/spec/features/projects/labels/subscription_spec.rb +++ b/spec/features/projects/labels/subscription_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Labels subscription' do +RSpec.describe 'Labels subscription' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, :public, namespace: group) } diff --git a/spec/features/projects/labels/update_prioritization_spec.rb b/spec/features/projects/labels/update_prioritization_spec.rb index 3a37ee6623d..706ea92c086 100644 --- a/spec/features/projects/labels/update_prioritization_spec.rb +++ b/spec/features/projects/labels/update_prioritization_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Prioritize labels' do +RSpec.describe 'Prioritize labels' do include DragTo let(:user) { create(:user) } diff --git a/spec/features/projects/labels/user_creates_labels_spec.rb b/spec/features/projects/labels/user_creates_labels_spec.rb index 180cd8eff14..001d23cd2c9 100644 --- a/spec/features/projects/labels/user_creates_labels_spec.rb +++ b/spec/features/projects/labels/user_creates_labels_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User creates labels" do +RSpec.describe "User creates labels" do let_it_be(:project) { create(:project_empty_repo, :public) } let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/labels/user_edits_labels_spec.rb b/spec/features/projects/labels/user_edits_labels_spec.rb index add959ccda6..8300a1a8542 100644 --- a/spec/features/projects/labels/user_edits_labels_spec.rb +++ b/spec/features/projects/labels/user_edits_labels_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User edits labels" do +RSpec.describe "User edits labels" do let_it_be(:project) { create(:project_empty_repo, :public) } let_it_be(:label) { create(:label, project: project) } let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/labels/user_promotes_label_spec.rb b/spec/features/projects/labels/user_promotes_label_spec.rb index cf7320d3cf9..4cb22c2e48c 100644 --- a/spec/features/projects/labels/user_promotes_label_spec.rb +++ b/spec/features/projects/labels/user_promotes_label_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User promotes label' do +RSpec.describe 'User promotes label' do let_it_be(:group) { create(:group) } let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, namespace: group) } diff --git a/spec/features/projects/labels/user_removes_labels_spec.rb b/spec/features/projects/labels/user_removes_labels_spec.rb index 459adeeec30..217f86b92cf 100644 --- a/spec/features/projects/labels/user_removes_labels_spec.rb +++ b/spec/features/projects/labels/user_removes_labels_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User removes labels" do +RSpec.describe "User removes labels" do let(:project) { create(:project_empty_repo, :public) } let(:user) { create(:user) } diff --git a/spec/features/projects/labels/user_sees_breadcrumb_links_spec.rb b/spec/features/projects/labels/user_sees_breadcrumb_links_spec.rb index 68a924e4fad..f9c65c08ec0 100644 --- a/spec/features/projects/labels/user_sees_breadcrumb_links_spec.rb +++ b/spec/features/projects/labels/user_sees_breadcrumb_links_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'New project label breadcrumb' do +RSpec.describe 'New project label breadcrumb' do let(:project) { create(:project) } let(:user) { project.creator } diff --git a/spec/features/projects/labels/user_sees_links_to_issuables_spec.rb b/spec/features/projects/labels/user_sees_links_to_issuables_spec.rb index f60e7e9703f..11aa53fd963 100644 --- a/spec/features/projects/labels/user_sees_links_to_issuables_spec.rb +++ b/spec/features/projects/labels/user_sees_links_to_issuables_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Labels > User sees links to issuables' do +RSpec.describe 'Projects > Labels > User sees links to issuables' do let_it_be(:user) { create(:user) } before do diff --git a/spec/features/projects/labels/user_views_labels_spec.rb b/spec/features/projects/labels/user_views_labels_spec.rb index 7f70ac903d6..da8520ca8fb 100644 --- a/spec/features/projects/labels/user_views_labels_spec.rb +++ b/spec/features/projects/labels/user_views_labels_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User views labels" do +RSpec.describe "User views labels" do let_it_be(:project) { create(:project_empty_repo, :public) } let_it_be(:user) { create(:user) } let(:label_titles) { %w[bug enhancement feature] } diff --git a/spec/features/projects/members/anonymous_user_sees_members_spec.rb b/spec/features/projects/members/anonymous_user_sees_members_spec.rb index 096cf97551a..3b0f00c5494 100644 --- a/spec/features/projects/members/anonymous_user_sees_members_spec.rb +++ b/spec/features/projects/members/anonymous_user_sees_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Anonymous user sees members' do +RSpec.describe 'Projects > Members > Anonymous user sees members' do let(:user) { create(:user) } let(:group) { create(:group, :public) } let(:project) { create(:project, :public) } diff --git a/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb b/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb index b6f6e2ca85f..c8a9f959188 100644 --- a/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb +++ b/spec/features/projects/members/group_member_cannot_leave_group_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Group member cannot leave group project' do +RSpec.describe 'Projects > Members > Group member cannot leave group project' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } diff --git a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb index cf9441bcd55..34c870b8a96 100644 --- a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb +++ b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Group member cannot request access to their group project' do +RSpec.describe 'Projects > Members > Group member cannot request access to their group project' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } diff --git a/spec/features/projects/members/group_members_spec.rb b/spec/features/projects/members/group_members_spec.rb index d37f912a2bc..3060d2c6a43 100644 --- a/spec/features/projects/members/group_members_spec.rb +++ b/spec/features/projects/members/group_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects members' do +RSpec.describe 'Projects members' do let(:user) { create(:user) } let(:developer) { create(:user) } let(:group) { create(:group, :public) } @@ -21,7 +21,7 @@ describe 'Projects members' do context 'with a group invitee' do before do group_invitee - visit project_settings_members_path(project) + visit project_project_members_path(project) end it 'does not appear in the project members page' do @@ -70,7 +70,7 @@ describe 'Projects members' do before do group_invitee project_invitee - visit project_settings_members_path(project) + visit project_project_members_path(project) end it 'shows the project invitee, the project developer, and the group owner' do @@ -91,7 +91,7 @@ describe 'Projects members' do context 'with a group requester' do before do group.request_access(group_requester) - visit project_settings_members_path(project) + visit project_project_members_path(project) end it 'does not appear in the project members page' do @@ -105,7 +105,7 @@ describe 'Projects members' do before do group.request_access(group_requester) project.request_access(project_requester) - visit project_settings_members_path(project) + visit project_project_members_path(project) end it 'shows the project requester, the project developer, and the group owner' do @@ -129,7 +129,7 @@ describe 'Projects members' do it_behaves_like 'showing user status' do let(:user_with_status) { developer } - subject { visit project_settings_members_path(project) } + subject { visit project_project_members_path(project) } end end end diff --git a/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb b/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb index ecd55f71c84..ec86b7db4fa 100644 --- a/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb +++ b/spec/features/projects/members/group_requester_cannot_request_access_to_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Group requester cannot request access to project', :js do +RSpec.describe 'Projects > Members > Group requester cannot request access to project', :js do let(:user) { create(:user) } let(:owner) { create(:user) } let(:group) { create(:group, :public) } diff --git a/spec/features/projects/members/groups_with_access_list_spec.rb b/spec/features/projects/members/groups_with_access_list_spec.rb index 6e8d1a945e1..2ee6bc103e9 100644 --- a/spec/features/projects/members/groups_with_access_list_spec.rb +++ b/spec/features/projects/members/groups_with_access_list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Groups with access list', :js do +RSpec.describe 'Projects > Members > Groups with access list', :js do let(:user) { create(:user) } let(:group) { create(:group, :public) } let(:project) { create(:project, :public) } @@ -12,7 +12,7 @@ describe 'Projects > Members > Groups with access list', :js do @group_link = create(:project_group_link, project: project, group: group) sign_in(user) - visit project_settings_members_path(project) + visit project_project_members_path(project) end it 'updates group access level' do @@ -24,7 +24,7 @@ describe 'Projects > Members > Groups with access list', :js do wait_for_requests - visit project_settings_members_path(project) + visit project_project_members_path(project) expect(first('.group_member')).to have_content('Guest') end diff --git a/spec/features/projects/members/invite_group_spec.rb b/spec/features/projects/members/invite_group_spec.rb index e76637039c6..058cbfff662 100644 --- a/spec/features/projects/members/invite_group_spec.rb +++ b/spec/features/projects/members/invite_group_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Members > Invite group', :js do +RSpec.describe 'Project > Members > Invite group', :js do include Select2Helper include ActionView::Helpers::DateHelper @@ -11,14 +11,14 @@ describe 'Project > Members > Invite group', :js do describe 'Share with group lock' do shared_examples 'the project can be shared with groups' do it 'the "Invite group" tab exists' do - visit project_settings_members_path(project) + visit project_project_members_path(project) expect(page).to have_selector('#invite-group-tab') end end shared_examples 'the project cannot be shared with groups' do it 'the "Invite group" tab does not exist' do - visit project_settings_members_path(project) + visit project_project_members_path(project) expect(page).not_to have_selector('#invite-group-tab') end end @@ -37,7 +37,9 @@ describe 'Project > Members > Invite group', :js do it_behaves_like 'the project can be shared with groups' it 'the project can be shared with another group' do - visit project_settings_members_path(project) + visit project_project_members_path(project) + + expect(page).not_to have_css('.project-members-groups') click_on 'invite-group-tab' @@ -118,7 +120,7 @@ describe 'Project > Members > Invite group', :js do group.add_guest(maintainer) sign_in(maintainer) - visit project_settings_members_path(project) + visit project_project_members_path(project) click_on 'invite-group-tab' @@ -151,7 +153,7 @@ describe 'Project > Members > Invite group', :js do create(:group).add_owner(maintainer) create(:group).add_owner(maintainer) - visit project_settings_members_path(project) + visit project_project_members_path(project) click_link 'Invite group' @@ -184,7 +186,7 @@ describe 'Project > Members > Invite group', :js do end it 'the groups dropdown does not show ancestors' do - visit project_settings_members_path(project) + visit project_project_members_path(project) click_on 'invite-group-tab' click_link 'Search for a group' diff --git a/spec/features/projects/members/list_spec.rb b/spec/features/projects/members/list_spec.rb index f404699b2f6..f51ebde8f80 100644 --- a/spec/features/projects/members/list_spec.rb +++ b/spec/features/projects/members/list_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project members list' do +RSpec.describe 'Project members list' do include Select2Helper include Spec::Support::Helpers::Features::ListRowsHelpers @@ -113,6 +113,6 @@ describe 'Project members list' do end def visit_members_page - visit project_settings_members_path(project) + visit project_project_members_path(project) end end diff --git a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb index cbcd03b33ce..979bbd57aa3 100644 --- a/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb +++ b/spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Maintainer adds member with expiration date', :js do +RSpec.describe 'Projects > Members > Maintainer adds member with expiration date', :js do include Select2Helper include ActiveSupport::Testing::TimeHelpers diff --git a/spec/features/projects/members/master_manages_access_requests_spec.rb b/spec/features/projects/members/master_manages_access_requests_spec.rb index f113fb643f8..4c3eaa93352 100644 --- a/spec/features/projects/members/master_manages_access_requests_spec.rb +++ b/spec/features/projects/members/master_manages_access_requests_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Maintainer manages access requests' do +RSpec.describe 'Projects > Members > Maintainer manages access requests' do it_behaves_like 'Maintainer manages access requests' do let(:entity) { create(:project, :public) } let(:members_page_path) { project_project_members_path(entity) } diff --git a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb index e2b57472b2e..fa02e815867 100644 --- a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Member cannot request access to their project' do +RSpec.describe 'Projects > Members > Member cannot request access to their project' do let(:member) { create(:user) } let(:project) { create(:project) } diff --git a/spec/features/projects/members/member_leaves_project_spec.rb b/spec/features/projects/members/member_leaves_project_spec.rb index cb7a405e821..aa7633c3b28 100644 --- a/spec/features/projects/members/member_leaves_project_spec.rb +++ b/spec/features/projects/members/member_leaves_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Member leaves project' do +RSpec.describe 'Projects > Members > Member leaves project' do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/members/owner_cannot_leave_project_spec.rb b/spec/features/projects/members/owner_cannot_leave_project_spec.rb index 781c584796d..fbe8583b236 100644 --- a/spec/features/projects/members/owner_cannot_leave_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_leave_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Owner cannot leave project' do +RSpec.describe 'Projects > Members > Owner cannot leave project' do let(:project) { create(:project) } before do diff --git a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb index 5643a29b4e4..5e6e3d4d7f2 100644 --- a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Owner cannot request access to their own project' do +RSpec.describe 'Projects > Members > Owner cannot request access to their own project' do let(:project) { create(:project) } before do diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb index 12f485317d8..be27cbc0d66 100644 --- a/spec/features/projects/members/sorting_spec.rb +++ b/spec/features/projects/members/sorting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > Sorting' do +RSpec.describe 'Projects > Members > Sorting' do let(:maintainer) { create(:user, name: 'John Doe') } let(:developer) { create(:user, name: 'Mary Jane', last_sign_in_at: 5.days.ago) } let(:project) { create(:project, namespace: maintainer.namespace, creator: maintainer) } diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 7e7faca9741..a339130ee3c 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Members > User requests access', :js do +RSpec.describe 'Projects > Members > User requests access', :js do let(:user) { create(:user) } let(:project) { create(:project, :public, :repository) } let(:maintainer) { project.owner } diff --git a/spec/features/projects/merge_request_button_spec.rb b/spec/features/projects/merge_request_button_spec.rb index 950af8b0ae0..e3d8534ace9 100644 --- a/spec/features/projects/merge_request_button_spec.rb +++ b/spec/features/projects/merge_request_button_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Merge Request button' do +RSpec.describe 'Merge Request button' do shared_examples 'Merge request button only shown when allowed' do let(:user) { create(:user) } let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/milestones/milestone_spec.rb b/spec/features/projects/milestones/milestone_spec.rb index fb9667cd67d..9ffb1746f3e 100644 --- a/spec/features/projects/milestones/milestone_spec.rb +++ b/spec/features/projects/milestones/milestone_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project milestone' do +RSpec.describe 'Project milestone' do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } let(:milestone) { create(:milestone, project: project) } diff --git a/spec/features/projects/milestones/milestones_sorting_spec.rb b/spec/features/projects/milestones/milestones_sorting_spec.rb index 77cf696fb7c..565c61cfaa0 100644 --- a/spec/features/projects/milestones/milestones_sorting_spec.rb +++ b/spec/features/projects/milestones/milestones_sorting_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Milestones sorting', :js do +RSpec.describe 'Milestones sorting', :js do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } diff --git a/spec/features/projects/milestones/new_spec.rb b/spec/features/projects/milestones/new_spec.rb index b1b74bed59d..170268297cd 100644 --- a/spec/features/projects/milestones/new_spec.rb +++ b/spec/features/projects/milestones/new_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Creating a new project milestone', :js do +RSpec.describe 'Creating a new project milestone', :js do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } diff --git a/spec/features/projects/milestones/user_interacts_with_labels_spec.rb b/spec/features/projects/milestones/user_interacts_with_labels_spec.rb index 0177871599a..d658599c52b 100644 --- a/spec/features/projects/milestones/user_interacts_with_labels_spec.rb +++ b/spec/features/projects/milestones/user_interacts_with_labels_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User interacts with labels' do +RSpec.describe 'User interacts with labels' do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } let(:milestone) { create(:milestone, project: project, title: 'v2.2', description: '# Description header') } diff --git a/spec/features/projects/navbar_spec.rb b/spec/features/projects/navbar_spec.rb index 1797ca8aa7d..94d79d60aeb 100644 --- a/spec/features/projects/navbar_spec.rb +++ b/spec/features/projects/navbar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project navbar' do +RSpec.describe 'Project navbar' do include NavbarStructureHelper include WaitForRequests diff --git a/spec/features/projects/network_graph_spec.rb b/spec/features/projects/network_graph_spec.rb index 2f6a2e90ab9..4ae809399b6 100644 --- a/spec/features/projects/network_graph_spec.rb +++ b/spec/features/projects/network_graph_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Network Graph', :js do +RSpec.describe 'Project Network Graph', :js do let(:user) { create :user } let(:project) { create :project, :repository, namespace: user.namespace } diff --git a/spec/features/projects/new_project_spec.rb b/spec/features/projects/new_project_spec.rb index 22a0d268243..6a2ec9aa4a8 100644 --- a/spec/features/projects/new_project_spec.rb +++ b/spec/features/projects/new_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'New project' do +RSpec.describe 'New project' do include Select2Helper context 'as a user' do diff --git a/spec/features/projects/pages_lets_encrypt_spec.rb b/spec/features/projects/pages_lets_encrypt_spec.rb index da9b191271a..302e9f5e533 100644 --- a/spec/features/projects/pages_lets_encrypt_spec.rb +++ b/spec/features/projects/pages_lets_encrypt_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -describe "Pages with Let's Encrypt", :https_pages_enabled do +RSpec.describe "Pages with Let's Encrypt", :https_pages_enabled do include LetsEncryptHelpers let(:project) { create(:project, pages_https_only: false) } diff --git a/spec/features/projects/pages_spec.rb b/spec/features/projects/pages_spec.rb index faa2b3c9424..e1ace817c72 100644 --- a/spec/features/projects/pages_spec.rb +++ b/spec/features/projects/pages_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -shared_examples 'pages settings editing' do +RSpec.shared_examples 'pages settings editing' do let_it_be(:project) { create(:project, pages_https_only: false) } let(:user) { create(:user) } let(:role) { :maintainer } @@ -394,7 +394,7 @@ shared_examples 'pages settings editing' do end end -describe 'Pages', :js do +RSpec.describe 'Pages', :js do include LetsEncryptHelpers context 'when editing normally' do diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index c21b1e36f9a..921bbbfbe7d 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Pipeline Schedules', :js do +RSpec.describe 'Pipeline Schedules', :js do include PipelineSchedulesHelper let!(:project) { create(:project, :repository) } diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb index de81547887b..c6a002ad18b 100644 --- a/spec/features/projects/pipelines/pipeline_spec.rb +++ b/spec/features/projects/pipelines/pipeline_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Pipeline', :js do +RSpec.describe 'Pipeline', :js do include RoutesHelpers include ProjectForksHelper include ::ExclusiveLeaseHelpers diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb index 7634100347e..0e33204f851 100644 --- a/spec/features/projects/pipelines/pipelines_spec.rb +++ b/spec/features/projects/pipelines/pipelines_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Pipelines', :js do +RSpec.describe 'Pipelines', :js do include ProjectForksHelper let(:project) { create(:project) } @@ -453,10 +453,12 @@ describe 'Pipelines', :js do context 'downloadable pipelines' do context 'with artifacts' do let!(:with_artifacts) do - create(:ci_build, :artifacts, :success, + build = create(:ci_build, :success, pipeline: pipeline, name: 'rspec tests', stage: 'test') + + create(:ci_job_artifact, :codequality, job: build) end before do @@ -470,7 +472,7 @@ describe 'Pipelines', :js do it 'has artifacts download dropdown' do find('.js-pipeline-dropdown-download').click - expect(page).to have_link(with_artifacts.name) + expect(page).to have_link(with_artifacts.file_type) end it 'has download attribute on download links' do diff --git a/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb b/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb index 673766073a2..6745eb1a3fb 100644 --- a/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb +++ b/spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Raw > User interacts with raw endpoint' do +RSpec.describe 'Projects > Raw > User interacts with raw endpoint' do include RepoHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/releases/user_views_edit_release_spec.rb b/spec/features/projects/releases/user_views_edit_release_spec.rb index 217d6a25a23..4ed1be6db6b 100644 --- a/spec/features/projects/releases/user_views_edit_release_spec.rb +++ b/spec/features/projects/releases/user_views_edit_release_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User edits Release', :js do +RSpec.describe 'User edits Release', :js do let_it_be(:project) { create(:project, :repository) } let_it_be(:release) { create(:release, project: project, name: 'The first release' ) } let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/releases/user_views_release_spec.rb b/spec/features/projects/releases/user_views_release_spec.rb index 6120acb4f1f..c82588746a8 100644 --- a/spec/features/projects/releases/user_views_release_spec.rb +++ b/spec/features/projects/releases/user_views_release_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views Release', :js do +RSpec.describe 'User views Release', :js do let(:project) { create(:project, :repository) } let(:release) { create(:release, project: project, name: 'The first release' ) } let(:user) { create(:user) } diff --git a/spec/features/projects/releases/user_views_releases_spec.rb b/spec/features/projects/releases/user_views_releases_spec.rb index e21d8ec16e1..962d5551631 100644 --- a/spec/features/projects/releases/user_views_releases_spec.rb +++ b/spec/features/projects/releases/user_views_releases_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views releases', :js do +RSpec.describe 'User views releases', :js do let_it_be(:project) { create(:project, :repository, :private) } let_it_be(:release) { create(:release, project: project, name: 'The first release' ) } let_it_be(:maintainer) { create(:user) } @@ -26,47 +26,65 @@ describe 'User views releases', :js do expect(page).not_to have_content('Upcoming Release') end - context 'when there is a link as an asset' do - let!(:release_link) { create(:release_link, release: release, url: url ) } - let(:url) { "#{project.web_url}/-/jobs/1/artifacts/download" } - let(:direct_asset_link) { Gitlab::Routing.url_helpers.project_release_url(project, release) << release_link.filepath } - - it 'sees the link' do - visit project_releases_path(project) - - page.within('.js-assets-list') do - expect(page).to have_link release_link.name, href: direct_asset_link - expect(page).not_to have_content('(external source)') - end - end - - context 'when there is a link redirect' do - let!(:release_link) { create(:release_link, release: release, name: 'linux-amd64 binaries', filepath: '/binaries/linux-amd64', url: url) } + shared_examples 'asset link tests' do + context 'when there is a link as an asset' do + let!(:release_link) { create(:release_link, release: release, url: url ) } let(:url) { "#{project.web_url}/-/jobs/1/artifacts/download" } + let(:direct_asset_link) { Gitlab::Routing.url_helpers.project_release_url(project, release) << release_link.filepath } it 'sees the link' do visit project_releases_path(project) page.within('.js-assets-list') do expect(page).to have_link release_link.name, href: direct_asset_link - expect(page).not_to have_content('(external source)') + expect(page).not_to have_css('[data-testid="external-link-indicator"]') end end - end - context 'when url points to external resource' do - let(:url) { 'http://google.com/download' } + context 'when there is a link redirect' do + let!(:release_link) { create(:release_link, release: release, name: 'linux-amd64 binaries', filepath: '/binaries/linux-amd64', url: url) } + let(:url) { "#{project.web_url}/-/jobs/1/artifacts/download" } - it 'sees that the link is external resource' do - visit project_releases_path(project) + it 'sees the link' do + visit project_releases_path(project) - page.within('.js-assets-list') do - expect(page).to have_content('(external source)') + page.within('.js-assets-list') do + expect(page).to have_link release_link.name, href: direct_asset_link + expect(page).not_to have_css('[data-testid="external-link-indicator"]') + end + end + end + + context 'when url points to external resource' do + let(:url) { 'http://google.com/download' } + + it 'sees that the link is external resource' do + visit project_releases_path(project) + + page.within('.js-assets-list') do + expect(page).to have_css('[data-testid="external-link-indicator"]') + end end end end end + context 'when the release_asset_link_type feature flag is enabled' do + before do + stub_feature_flags(release_asset_link_type: true) + end + + it_behaves_like 'asset link tests' + end + + context 'when the release_asset_link_type feature flag is disabled' do + before do + stub_feature_flags(release_asset_link_type: false) + end + + it_behaves_like 'asset link tests' + end + context 'with an upcoming release' do let(:tomorrow) { Time.zone.now + 1.day } let!(:release) { create(:release, project: project, released_at: tomorrow ) } @@ -80,7 +98,7 @@ describe 'User views releases', :js do context 'with a tag containing a slash' do it 'sees the release' do - release = create :release, :with_evidence, project: project, tag: 'debian/2.4.0-1' + release = create :release, project: project, tag: 'debian/2.4.0-1' visit project_releases_path(project) expect(page).to have_content(release.name) diff --git a/spec/features/projects/remote_mirror_spec.rb b/spec/features/projects/remote_mirror_spec.rb index d357aabead7..26d27c914cc 100644 --- a/spec/features/projects/remote_mirror_spec.rb +++ b/spec/features/projects/remote_mirror_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project remote mirror', :feature do +RSpec.describe 'Project remote mirror', :feature do let(:project) { create(:project, :repository, :remote_mirror) } let(:remote_mirror) { project.remote_mirrors.first } let(:user) { create(:user) } diff --git a/spec/features/projects/serverless/functions_spec.rb b/spec/features/projects/serverless/functions_spec.rb index 4c89af29339..a0b06d7e2a1 100644 --- a/spec/features/projects/serverless/functions_spec.rb +++ b/spec/features/projects/serverless/functions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Functions', :js do +RSpec.describe 'Functions', :js do include KubernetesHelpers include ReactiveCachingHelpers diff --git a/spec/features/projects/services/disable_triggers_spec.rb b/spec/features/projects/services/disable_triggers_spec.rb index d07abb94208..8f87d0e7ff1 100644 --- a/spec/features/projects/services/disable_triggers_spec.rb +++ b/spec/features/projects/services/disable_triggers_spec.rb @@ -2,10 +2,10 @@ require 'spec_helper' -describe 'Disable individual triggers' do +RSpec.describe 'Disable individual triggers', :js do include_context 'project service activation' - let(:checkbox_selector) { 'input[type=checkbox][id$=_events]' } + let(:checkbox_selector) { 'input[type=checkbox][name$="_events]"]' } before do visit_project_integration(service_name) diff --git a/spec/features/projects/services/prometheus_external_alerts_spec.rb b/spec/features/projects/services/prometheus_external_alerts_spec.rb index 1a706f20352..4c32905a8c5 100644 --- a/spec/features/projects/services/prometheus_external_alerts_spec.rb +++ b/spec/features/projects/services/prometheus_external_alerts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Prometheus external alerts', :js do +RSpec.describe 'Prometheus external alerts', :js do include_context 'project service activation' let(:alerts_section_selector) { '.js-prometheus-alerts' } diff --git a/spec/features/projects/services/user_activates_alerts_spec.rb b/spec/features/projects/services/user_activates_alerts_spec.rb index 47de7fab859..95642f49d61 100644 --- a/spec/features/projects/services/user_activates_alerts_spec.rb +++ b/spec/features/projects/services/user_activates_alerts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Alerts', :js do +RSpec.describe 'User activates Alerts', :js do let_it_be(:project) { create(:project) } let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/services/user_activates_asana_spec.rb b/spec/features/projects/services/user_activates_asana_spec.rb index dac60fce6e9..3e24d106be0 100644 --- a/spec/features/projects/services/user_activates_asana_spec.rb +++ b/spec/features/projects/services/user_activates_asana_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Asana' do +RSpec.describe 'User activates Asana' do include_context 'project service activation' it 'activates service', :js do diff --git a/spec/features/projects/services/user_activates_assembla_spec.rb b/spec/features/projects/services/user_activates_assembla_spec.rb index 999a95e3e23..2e49f4caa82 100644 --- a/spec/features/projects/services/user_activates_assembla_spec.rb +++ b/spec/features/projects/services/user_activates_assembla_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Assembla' do +RSpec.describe 'User activates Assembla' do include_context 'project service activation' before do diff --git a/spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb b/spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb index 28ed08f71b6..7b89b9ac4a7 100644 --- a/spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb +++ b/spec/features/projects/services/user_activates_atlassian_bamboo_ci_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Atlassian Bamboo CI' do +RSpec.describe 'User activates Atlassian Bamboo CI' do include_context 'project service activation' before do @@ -23,6 +23,6 @@ describe 'User activates Atlassian Bamboo CI' do # Password field should not be filled in. click_link('Atlassian Bamboo CI') - expect(find_field('Enter new password').value).to be_blank + expect(find_field('Enter new Password').value).to be_blank end end diff --git a/spec/features/projects/services/user_activates_emails_on_push_spec.rb b/spec/features/projects/services/user_activates_emails_on_push_spec.rb index 42c069eb29e..40947027146 100644 --- a/spec/features/projects/services/user_activates_emails_on_push_spec.rb +++ b/spec/features/projects/services/user_activates_emails_on_push_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Emails on push' do +RSpec.describe 'User activates Emails on push' do include_context 'project service activation' it 'activates service', :js do diff --git a/spec/features/projects/services/user_activates_flowdock_spec.rb b/spec/features/projects/services/user_activates_flowdock_spec.rb index 4762363b3fe..9581d718400 100644 --- a/spec/features/projects/services/user_activates_flowdock_spec.rb +++ b/spec/features/projects/services/user_activates_flowdock_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Flowdock' do +RSpec.describe 'User activates Flowdock' do include_context 'project service activation' do let(:project) { create(:project, :repository) } end diff --git a/spec/features/projects/services/user_activates_hipchat_spec.rb b/spec/features/projects/services/user_activates_hipchat_spec.rb index 2fb056f3533..a2820c4bb0f 100644 --- a/spec/features/projects/services/user_activates_hipchat_spec.rb +++ b/spec/features/projects/services/user_activates_hipchat_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates HipChat', :js do +RSpec.describe 'User activates HipChat', :js do include_context 'project service activation' context 'with standart settings' do diff --git a/spec/features/projects/services/user_activates_irker_spec.rb b/spec/features/projects/services/user_activates_irker_spec.rb index 56df403499c..fad40fa6085 100644 --- a/spec/features/projects/services/user_activates_irker_spec.rb +++ b/spec/features/projects/services/user_activates_irker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Irker (IRC gateway)' do +RSpec.describe 'User activates Irker (IRC gateway)' do include_context 'project service activation' it 'activates service', :js do diff --git a/spec/features/projects/services/user_activates_issue_tracker_spec.rb b/spec/features/projects/services/user_activates_issue_tracker_spec.rb index 3c5005d0c0c..a2a2604c610 100644 --- a/spec/features/projects/services/user_activates_issue_tracker_spec.rb +++ b/spec/features/projects/services/user_activates_issue_tracker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates issue tracker', :js do +RSpec.describe 'User activates issue tracker', :js do include_context 'project service activation' let(:url) { 'http://tracker.example.com' } diff --git a/spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb b/spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb index 8c84a81ac89..8ee369eb6ec 100644 --- a/spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb +++ b/spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates JetBrains TeamCity CI' do +RSpec.describe 'User activates JetBrains TeamCity CI' do include_context 'project service activation' before do @@ -12,7 +12,7 @@ describe 'User activates JetBrains TeamCity CI' do it 'activates service', :js do visit_project_integration('JetBrains TeamCity CI') check('Push') - check('Merge request') + check('Merge Request') fill_in('Teamcity url', with: 'http://teamcity.example.com') fill_in('Build type', with: 'GitlabTest_Build') fill_in('Username', with: 'user') diff --git a/spec/features/projects/services/user_activates_jira_spec.rb b/spec/features/projects/services/user_activates_jira_spec.rb index a14dbf9c14d..1da8a49699b 100644 --- a/spec/features/projects/services/user_activates_jira_spec.rb +++ b/spec/features/projects/services/user_activates_jira_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Jira', :js do +RSpec.describe 'User activates Jira', :js do include_context 'project service activation' let(:url) { 'http://jira.example.com' } diff --git a/spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb b/spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb index c6825ee663a..a6b4aaccfb5 100644 --- a/spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb +++ b/spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Set up Mattermost slash commands', :js do +RSpec.describe 'Set up Mattermost slash commands', :js do describe 'user visits the mattermost slash command config page' do include_context 'project service activation' diff --git a/spec/features/projects/services/user_activates_packagist_spec.rb b/spec/features/projects/services/user_activates_packagist_spec.rb index 274f293ebf3..70cf612bb2a 100644 --- a/spec/features/projects/services/user_activates_packagist_spec.rb +++ b/spec/features/projects/services/user_activates_packagist_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Packagist' do +RSpec.describe 'User activates Packagist' do include_context 'project service activation' before do diff --git a/spec/features/projects/services/user_activates_pivotaltracker_spec.rb b/spec/features/projects/services/user_activates_pivotaltracker_spec.rb index c81c5081867..8e99c6e303b 100644 --- a/spec/features/projects/services/user_activates_pivotaltracker_spec.rb +++ b/spec/features/projects/services/user_activates_pivotaltracker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates PivotalTracker' do +RSpec.describe 'User activates PivotalTracker' do include_context 'project service activation' before do diff --git a/spec/features/projects/services/user_activates_prometheus_spec.rb b/spec/features/projects/services/user_activates_prometheus_spec.rb index 76dc7d1bbc8..89b1f447c32 100644 --- a/spec/features/projects/services/user_activates_prometheus_spec.rb +++ b/spec/features/projects/services/user_activates_prometheus_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Prometheus' do +RSpec.describe 'User activates Prometheus' do include_context 'project service activation' before do diff --git a/spec/features/projects/services/user_activates_pushover_spec.rb b/spec/features/projects/services/user_activates_pushover_spec.rb index 62e03e68aee..789cc30a42e 100644 --- a/spec/features/projects/services/user_activates_pushover_spec.rb +++ b/spec/features/projects/services/user_activates_pushover_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Pushover' do +RSpec.describe 'User activates Pushover' do include_context 'project service activation' before do diff --git a/spec/features/projects/services/user_activates_slack_notifications_spec.rb b/spec/features/projects/services/user_activates_slack_notifications_spec.rb index 12f15699e26..20e2bd3f085 100644 --- a/spec/features/projects/services/user_activates_slack_notifications_spec.rb +++ b/spec/features/projects/services/user_activates_slack_notifications_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User activates Slack notifications' do +RSpec.describe 'User activates Slack notifications', :js do include_context 'project service activation' context 'when service is not configured yet' do @@ -10,7 +10,7 @@ describe 'User activates Slack notifications' do visit_project_integration('Slack notifications') end - it 'activates service', :js do + it 'activates service' do fill_in('Webhook', with: 'https://hooks.slack.com/services/SVRWFV0VVAR97N/B02R25XN3/ZBqu7xMupaEEICInN685') click_test_then_save_integration @@ -38,13 +38,13 @@ describe 'User activates Slack notifications' do end it 'filters events by channel' do - expect(page.find_field('service_push_channel').value).to have_content('1') - expect(page.find_field('service_issue_channel').value).to have_content('2') - expect(page.find_field('service_merge_request_channel').value).to have_content('3') - expect(page.find_field('service_note_channel').value).to have_content('4') - expect(page.find_field('service_tag_push_channel').value).to have_content('5') - expect(page.find_field('service_pipeline_channel').value).to have_content('6') - expect(page.find_field('service_wiki_page_channel').value).to have_content('7') + expect(page.find_field(name: 'service[push_channel]').value).to have_content('1') + expect(page.find_field(name: 'service[issue_channel]').value).to have_content('2') + expect(page.find_field(name: 'service[merge_request_channel]').value).to have_content('3') + expect(page.find_field(name: 'service[note_channel]').value).to have_content('4') + expect(page.find_field(name: 'service[tag_push_channel]').value).to have_content('5') + expect(page.find_field(name: 'service[pipeline_channel]').value).to have_content('6') + expect(page.find_field(name: 'service[wiki_page_channel]').value).to have_content('7') end end end diff --git a/spec/features/projects/services/user_activates_slack_slash_command_spec.rb b/spec/features/projects/services/user_activates_slack_slash_command_spec.rb index 05f1a0c6b17..360e462b935 100644 --- a/spec/features/projects/services/user_activates_slack_slash_command_spec.rb +++ b/spec/features/projects/services/user_activates_slack_slash_command_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Slack slash commands' do +RSpec.describe 'Slack slash commands', :js do include_context 'project service activation' before do @@ -10,7 +10,7 @@ describe 'Slack slash commands' do end it 'shows a token placeholder' do - token_placeholder = find_field('service_token')['placeholder'] + token_placeholder = find_field('Token')['placeholder'] expect(token_placeholder).to eq('XXxxXXxxXXxxXXxxXXxxXXxx') end @@ -19,8 +19,8 @@ describe 'Slack slash commands' do expect(page).to have_content('This service allows users to perform common') end - it 'redirects to the integrations page after saving but not activating', :js do - fill_in 'service_token', with: 'token' + it 'redirects to the integrations page after saving but not activating' do + fill_in 'Token', with: 'token' click_active_toggle click_on 'Save' @@ -28,8 +28,8 @@ describe 'Slack slash commands' do expect(page).to have_content('Slack slash commands settings saved, but not activated.') end - it 'redirects to the integrations page after activating', :js do - fill_in 'service_token', with: 'token' + it 'redirects to the integrations page after activating' do + fill_in 'Token', with: 'token' click_on 'Save' expect(current_path).to eq(project_settings_integrations_path(project)) diff --git a/spec/features/projects/services/user_views_services_spec.rb b/spec/features/projects/services/user_views_services_spec.rb index 6df0123c30a..fef6b7bd991 100644 --- a/spec/features/projects/services/user_views_services_spec.rb +++ b/spec/features/projects/services/user_views_services_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views services' do +RSpec.describe 'User views services' do include_context 'project service activation' it 'shows the list of available services' do diff --git a/spec/features/projects/settings/access_tokens_spec.rb b/spec/features/projects/settings/access_tokens_spec.rb index 9a8a8e38164..45fe19deb8e 100644 --- a/spec/features/projects/settings/access_tokens_spec.rb +++ b/spec/features/projects/settings/access_tokens_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Settings > Access Tokens', :js do +RSpec.describe 'Project > Settings > Access Tokens', :js do let_it_be(:user) { create(:user) } let_it_be(:bot_user) { create(:user, :project_bot) } let_it_be(:project) { create(:project) } diff --git a/spec/features/projects/settings/external_authorization_service_settings_spec.rb b/spec/features/projects/settings/external_authorization_service_settings_spec.rb index 31b2892cf6f..c236c85b773 100644 --- a/spec/features/projects/settings/external_authorization_service_settings_spec.rb +++ b/spec/features/projects/settings/external_authorization_service_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > External Authorization Classification Label setting' do +RSpec.describe 'Projects > Settings > External Authorization Classification Label setting' do let(:user) { create(:user) } let(:project) { create(:project_empty_repo) } diff --git a/spec/features/projects/settings/forked_project_settings_spec.rb b/spec/features/projects/settings/forked_project_settings_spec.rb index a2c6dd8e288..f6c25d483ad 100644 --- a/spec/features/projects/settings/forked_project_settings_spec.rb +++ b/spec/features/projects/settings/forked_project_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > For a forked project', :js do +RSpec.describe 'Projects > Settings > For a forked project', :js do include ProjectForksHelper let(:user) { create(:user) } let(:original_project) { create(:project) } diff --git a/spec/features/projects/settings/lfs_settings_spec.rb b/spec/features/projects/settings/lfs_settings_spec.rb index 5fa3b9bba55..6e1be3c7e51 100644 --- a/spec/features/projects/settings/lfs_settings_spec.rb +++ b/spec/features/projects/settings/lfs_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > LFS settings' do +RSpec.describe 'Projects > Settings > LFS settings' do let(:project) { create(:project) } let(:user) { create(:user) } let(:role) { :maintainer } diff --git a/spec/features/projects/settings/operations_settings_spec.rb b/spec/features/projects/settings/operations_settings_spec.rb index 752353cf2f5..dfbb6342173 100644 --- a/spec/features/projects/settings/operations_settings_spec.rb +++ b/spec/features/projects/settings/operations_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > For a forked project', :js do +RSpec.describe 'Projects > Settings > For a forked project', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository, create_templates: :issue) } let(:role) { :maintainer } diff --git a/spec/features/projects/settings/pipelines_settings_spec.rb b/spec/features/projects/settings/pipelines_settings_spec.rb index 87e467571e6..0358acc8dcc 100644 --- a/spec/features/projects/settings/pipelines_settings_spec.rb +++ b/spec/features/projects/settings/pipelines_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe "Projects > Settings > Pipelines settings" do +RSpec.describe "Projects > Settings > Pipelines settings" do let(:project) { create(:project) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/settings/project_badges_spec.rb b/spec/features/projects/settings/project_badges_spec.rb index c419bb1868c..2c26168e3c0 100644 --- a/spec/features/projects/settings/project_badges_spec.rb +++ b/spec/features/projects/settings/project_badges_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Badges' do +RSpec.describe 'Project Badges' do include WaitForRequests let(:user) { create(:user) } diff --git a/spec/features/projects/settings/project_settings_spec.rb b/spec/features/projects/settings/project_settings_spec.rb index 171c7920878..7b2b5594c22 100644 --- a/spec/features/projects/settings/project_settings_spec.rb +++ b/spec/features/projects/settings/project_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects settings' do +RSpec.describe 'Projects settings' do let_it_be(:project) { create(:project) } let(:user) { project.owner } let(:panel) { find('.general-settings', match: :first) } diff --git a/spec/features/projects/settings/registry_settings_spec.rb b/spec/features/projects/settings/registry_settings_spec.rb index ba92e8bc516..3dcb7ca54a1 100644 --- a/spec/features/projects/settings/registry_settings_spec.rb +++ b/spec/features/projects/settings/registry_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Settings > CI/CD > Container registry tag expiration policy', :js do +RSpec.describe 'Project > Settings > CI/CD > Container registry tag expiration policy', :js do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace, container_registry_enabled: container_registry_enabled) } let(:container_registry_enabled) { true } @@ -29,7 +29,7 @@ describe 'Project > Settings > CI/CD > Container registry tag expiration policy' select('7 days until tags are automatically removed', from: 'Expiration interval:') select('Every day', from: 'Expiration schedule:') select('50 tags per image name', from: 'Number of tags to retain:') - fill_in('Tags with names matching this regex pattern will expire:', with: '*-production') + fill_in('Tags with names matching this regex pattern will expire:', with: '.*-production') end submit_button = find('.card-footer .btn.btn-success') expect(submit_button).not_to be_disabled @@ -38,6 +38,19 @@ describe 'Project > Settings > CI/CD > Container registry tag expiration policy' toast = find('.gl-toast') expect(toast).to have_content('Expiration policy successfully saved.') end + + it 'does not save expiration policy submit form with invalid regex' do + within '#js-registry-policies' do + within '.card-body' do + fill_in('Tags with names matching this regex pattern will expire:', with: '*-production') + end + submit_button = find('.card-footer .btn.btn-success') + expect(submit_button).not_to be_disabled + submit_button.click + end + toast = find('.gl-toast') + expect(toast).to have_content('Something went wrong while updating the expiration policy.') + end end context 'when registry is disabled' do diff --git a/spec/features/projects/settings/repository_settings_spec.rb b/spec/features/projects/settings/repository_settings_spec.rb index b8baaa3e963..8beecedf85f 100644 --- a/spec/features/projects/settings/repository_settings_spec.rb +++ b/spec/features/projects/settings/repository_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > Repository settings' do +RSpec.describe 'Projects > Settings > Repository settings' do let(:project) { create(:project_empty_repo) } let(:user) { create(:user) } let(:role) { :developer } diff --git a/spec/features/projects/settings/user_archives_project_spec.rb b/spec/features/projects/settings/user_archives_project_spec.rb index 7667fad7b03..03ea9e7c580 100644 --- a/spec/features/projects/settings/user_archives_project_spec.rb +++ b/spec/features/projects/settings/user_archives_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User archives a project' do +RSpec.describe 'Projects > Settings > User archives a project' do let(:user) { create(:user) } before do diff --git a/spec/features/projects/settings/user_changes_avatar_spec.rb b/spec/features/projects/settings/user_changes_avatar_spec.rb index 67789b869da..92d5b4c1fcd 100644 --- a/spec/features/projects/settings/user_changes_avatar_spec.rb +++ b/spec/features/projects/settings/user_changes_avatar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User changes avatar' do +RSpec.describe 'Projects > Settings > User changes avatar' do let(:project) { create(:project, :repository) } let(:user) { project.creator } diff --git a/spec/features/projects/settings/user_changes_default_branch_spec.rb b/spec/features/projects/settings/user_changes_default_branch_spec.rb index 411fc0c7e07..84e6c50cf61 100644 --- a/spec/features/projects/settings/user_changes_default_branch_spec.rb +++ b/spec/features/projects/settings/user_changes_default_branch_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User changes default branch' do +RSpec.describe 'Projects > Settings > User changes default branch' do include Select2Helper let(:user) { create(:user) } diff --git a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb index 45a16fda2cb..ba504624823 100644 --- a/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb +++ b/spec/features/projects/settings/user_interacts_with_deploy_keys_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User interacts with deploy keys", :js do +RSpec.describe "User interacts with deploy keys", :js do let(:project) { create(:project, :repository) } let(:user) { project.owner } diff --git a/spec/features/projects/settings/user_manages_group_links_spec.rb b/spec/features/projects/settings/user_manages_group_links_spec.rb deleted file mode 100644 index 7df0bbb9d02..00000000000 --- a/spec/features/projects/settings/user_manages_group_links_spec.rb +++ /dev/null @@ -1,44 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe 'Projects > Settings > User manages group links' do - include Select2Helper - - let(:user) { create(:user) } - let(:project) { create(:project, namespace: user.namespace) } - let(:group_ops) { create(:group, name: 'Ops') } - let(:group_market) { create(:group, name: 'Market', path: 'market') } - - before do - project.add_maintainer(user) - group_market.add_guest(user) - sign_in(user) - - share_link = project.project_group_links.new(group_access: Gitlab::Access::MAINTAINER) - share_link.group_id = group_ops.id - share_link.save! - - visit(project_group_links_path(project)) - end - - it 'shows a list of groups' do - page.within('.project-members-groups') do - expect(page).to have_content('Ops') - expect(page).not_to have_content('Market') - end - end - - it 'invites a group to a project', :js do - click_link('Invite group') - - select2(group_market.id, from: '#link_group_id') - select('Maintainer', from: 'link_group_access') - - click_button('Invite') - - page.within('.project-members-groups') do - expect(page).to have_content('Market') - end - end -end diff --git a/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb b/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb index c0089e3c28c..3fc1f47d98a 100644 --- a/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb +++ b/spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -describe 'Projects > Settings > User manages merge request settings' do +RSpec.describe 'Projects > Settings > User manages merge request settings' do let(:user) { create(:user) } let(:project) { create(:project, :public, namespace: user.namespace, path: 'gitlab', name: 'sample') } diff --git a/spec/features/projects/settings/user_manages_project_members_spec.rb b/spec/features/projects/settings/user_manages_project_members_spec.rb index 705c60f15ee..d32f4cb8ec7 100644 --- a/spec/features/projects/settings/user_manages_project_members_spec.rb +++ b/spec/features/projects/settings/user_manages_project_members_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User manages project members' do +RSpec.describe 'Projects > Settings > User manages project members' do let(:group) { create(:group, name: 'OpenSource') } let(:project) { create(:project) } let(:project2) { create(:project) } diff --git a/spec/features/projects/settings/user_renames_a_project_spec.rb b/spec/features/projects/settings/user_renames_a_project_spec.rb index 789c5e31748..6088ea31661 100644 --- a/spec/features/projects/settings/user_renames_a_project_spec.rb +++ b/spec/features/projects/settings/user_renames_a_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User renames a project' do +RSpec.describe 'Projects > Settings > User renames a project' do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace, path: 'gitlab', name: 'sample') } diff --git a/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb b/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb index 0abc4b41a2b..d0f297d2067 100644 --- a/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb +++ b/spec/features/projects/settings/user_sees_revoke_deploy_token_modal_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Repository Settings > User sees revoke deploy token modal', :js do +RSpec.describe 'Repository Settings > User sees revoke deploy token modal', :js do let(:project) { create(:project, :public, :repository) } let(:user) { project.creator } let(:role) { :developer } diff --git a/spec/features/projects/settings/user_tags_project_spec.rb b/spec/features/projects/settings/user_tags_project_spec.rb index a919dd0e4af..ff19ed22744 100644 --- a/spec/features/projects/settings/user_tags_project_spec.rb +++ b/spec/features/projects/settings/user_tags_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User tags a project' do +RSpec.describe 'Projects > Settings > User tags a project' do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } diff --git a/spec/features/projects/settings/user_transfers_a_project_spec.rb b/spec/features/projects/settings/user_transfers_a_project_spec.rb index 8989eac77b5..ba4c379ef0a 100644 --- a/spec/features/projects/settings/user_transfers_a_project_spec.rb +++ b/spec/features/projects/settings/user_transfers_a_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > User transfers a project', :js do +RSpec.describe 'Projects > Settings > User transfers a project', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository, namespace: user.namespace) } let(:group) { create(:group) } diff --git a/spec/features/projects/settings/visibility_settings_spec.rb b/spec/features/projects/settings/visibility_settings_spec.rb index a2b36874aea..6cecbbdb3d0 100644 --- a/spec/features/projects/settings/visibility_settings_spec.rb +++ b/spec/features/projects/settings/visibility_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > Visibility settings', :js do +RSpec.describe 'Projects > Settings > Visibility settings', :js do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace, visibility_level: 20) } diff --git a/spec/features/projects/settings/webhooks_settings_spec.rb b/spec/features/projects/settings/webhooks_settings_spec.rb index 7e22117c63c..d184f08bd89 100644 --- a/spec/features/projects/settings/webhooks_settings_spec.rb +++ b/spec/features/projects/settings/webhooks_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Settings > Webhook Settings' do +RSpec.describe 'Projects > Settings > Webhook Settings' do let(:project) { create(:project) } let(:user) { create(:user) } let(:webhooks_path) { project_hooks_path(project) } diff --git a/spec/features/projects/show/developer_views_empty_project_instructions_spec.rb b/spec/features/projects/show/developer_views_empty_project_instructions_spec.rb index 70dc6c966ba..8d239cb2cbf 100644 --- a/spec/features/projects/show/developer_views_empty_project_instructions_spec.rb +++ b/spec/features/projects/show/developer_views_empty_project_instructions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > Developer views empty project instructions' do +RSpec.describe 'Projects > Show > Developer views empty project instructions' do let(:project) { create(:project, :empty_repo) } let(:developer) { create(:user) } diff --git a/spec/features/projects/show/download_buttons_spec.rb b/spec/features/projects/show/download_buttons_spec.rb index 0d609069426..e73bb3198e6 100644 --- a/spec/features/projects/show/download_buttons_spec.rb +++ b/spec/features/projects/show/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > Download buttons' do +RSpec.describe 'Projects > Show > Download buttons' do let(:user) { create(:user) } let(:role) { :developer } let(:status) { 'success' } diff --git a/spec/features/projects/show/no_password_spec.rb b/spec/features/projects/show/no_password_spec.rb index 0048b1bf017..79cd65e5406 100644 --- a/spec/features/projects/show/no_password_spec.rb +++ b/spec/features/projects/show/no_password_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'No Password Alert' do +RSpec.describe 'No Password Alert' do let(:project) { create(:project, :repository, namespace: user.namespace) } context 'with internal auth enabled' do diff --git a/spec/features/projects/show/redirects_spec.rb b/spec/features/projects/show/redirects_spec.rb index 1b579ab0121..659edda5672 100644 --- a/spec/features/projects/show/redirects_spec.rb +++ b/spec/features/projects/show/redirects_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > Redirects' do +RSpec.describe 'Projects > Show > Redirects' do let(:user) { create :user } let(:public_project) { create :project, :public } let(:private_project) { create :project, :private } diff --git a/spec/features/projects/show/rss_spec.rb b/spec/features/projects/show/rss_spec.rb index 4fe1fde5bdd..0bd6e9cbe3b 100644 --- a/spec/features/projects/show/rss_spec.rb +++ b/spec/features/projects/show/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > RSS' do +RSpec.describe 'Projects > Show > RSS' do let(:user) { create(:user) } let(:project) { create(:project, :repository, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_path(project) } diff --git a/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb b/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb index df63856492e..59f1bc94226 100644 --- a/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb +++ b/spec/features/projects/show/user_interacts_with_auto_devops_banner_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Show > User interacts with auto devops implicitly enabled banner' do +RSpec.describe 'Project > Show > User interacts with auto devops implicitly enabled banner' do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/show/user_interacts_with_stars_spec.rb b/spec/features/projects/show/user_interacts_with_stars_spec.rb index e4cd8294f7a..99f84c19bf3 100644 --- a/spec/features/projects/show/user_interacts_with_stars_spec.rb +++ b/spec/features/projects/show/user_interacts_with_stars_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User interacts with project stars' do +RSpec.describe 'Projects > Show > User interacts with project stars' do let(:project) { create(:project, :public, :repository) } context 'when user is signed in', :js do diff --git a/spec/features/projects/show/user_manages_notifications_spec.rb b/spec/features/projects/show/user_manages_notifications_spec.rb index 0cd6743304e..58a2c793b7b 100644 --- a/spec/features/projects/show/user_manages_notifications_spec.rb +++ b/spec/features/projects/show/user_manages_notifications_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User manages notifications', :js do +RSpec.describe 'Projects > Show > User manages notifications', :js do let(:project) { create(:project, :public, :repository) } before do diff --git a/spec/features/projects/show/user_sees_collaboration_links_spec.rb b/spec/features/projects/show/user_sees_collaboration_links_spec.rb index 63fcec4f9b3..ffdfbb9fe81 100644 --- a/spec/features/projects/show/user_sees_collaboration_links_spec.rb +++ b/spec/features/projects/show/user_sees_collaboration_links_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > Collaboration links', :js do +RSpec.describe 'Projects > Show > Collaboration links', :js do using RSpec::Parameterized::TableSyntax let(:project) { create(:project, :repository, :public) } diff --git a/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb b/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb index bdd0ab688f0..5e878411f6a 100644 --- a/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb +++ b/spec/features/projects/show/user_sees_deletion_failure_message_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User sees a deletion failure message' do +RSpec.describe 'Projects > Show > User sees a deletion failure message' do let(:project) { create(:project, :empty_repo, pending_delete: true) } before do diff --git a/spec/features/projects/show/user_sees_git_instructions_spec.rb b/spec/features/projects/show/user_sees_git_instructions_spec.rb index 0c486056329..a35f6420bdc 100644 --- a/spec/features/projects/show/user_sees_git_instructions_spec.rb +++ b/spec/features/projects/show/user_sees_git_instructions_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User sees Git instructions' do +RSpec.describe 'Projects > Show > User sees Git instructions' do let_it_be(:user) { create(:user) } shared_examples_for 'redirects to the sign in page' do diff --git a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb index c0fcd10f394..0aa0f7754c6 100644 --- a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb +++ b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User sees last commit CI status' do +RSpec.describe 'Projects > Show > User sees last commit CI status' do let_it_be(:project) { create(:project, :repository, :public) } it 'shows the project README', :js do diff --git a/spec/features/projects/show/user_sees_readme_spec.rb b/spec/features/projects/show/user_sees_readme_spec.rb index 52745b06cd3..250f707948e 100644 --- a/spec/features/projects/show/user_sees_readme_spec.rb +++ b/spec/features/projects/show/user_sees_readme_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User sees README' do +RSpec.describe 'Projects > Show > User sees README' do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository, :public) } diff --git a/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb b/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb index 8e20facda15..0f10b0a4010 100644 --- a/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb +++ b/spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User sees setup shortcut buttons' do +RSpec.describe 'Projects > Show > User sees setup shortcut buttons' do # For "New file", "Add license" functionality, # see spec/features/projects/files/project_owner_creates_license_file_spec.rb # see spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb diff --git a/spec/features/projects/show/user_uploads_files_spec.rb b/spec/features/projects/show/user_uploads_files_spec.rb index e279cdf92da..053598a528e 100644 --- a/spec/features/projects/show/user_uploads_files_spec.rb +++ b/spec/features/projects/show/user_uploads_files_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Show > User uploads files' do +RSpec.describe 'Projects > Show > User uploads files' do include DropzoneHelper let(:user) { create(:user) } diff --git a/spec/features/projects/snippets/create_snippet_spec.rb b/spec/features/projects/snippets/create_snippet_spec.rb index 1e8f9fa0875..73d033cbdb8 100644 --- a/spec/features/projects/snippets/create_snippet_spec.rb +++ b/spec/features/projects/snippets/create_snippet_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -shared_examples_for 'snippet editor' do +RSpec.shared_examples_for 'snippet editor' do before do stub_feature_flags(snippets_edit_vue: false) end @@ -138,7 +138,7 @@ shared_examples_for 'snippet editor' do end end -describe 'Projects > Snippets > Create Snippet', :js do +RSpec.describe 'Projects > Snippets > Create Snippet', :js do include DropzoneHelper let_it_be(:user) { create(:user) } diff --git a/spec/features/projects/snippets/show_spec.rb b/spec/features/projects/snippets/show_spec.rb index 9be226c017f..0f6429d49f6 100644 --- a/spec/features/projects/snippets/show_spec.rb +++ b/spec/features/projects/snippets/show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Snippets > Project snippet', :js do +RSpec.describe 'Projects > Snippets > Project snippet', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:snippet) { create(:project_snippet, project: project, file_name: file_name, content: content) } diff --git a/spec/features/projects/snippets/user_comments_on_snippet_spec.rb b/spec/features/projects/snippets/user_comments_on_snippet_spec.rb index a7a220b926d..2784fec3dc1 100644 --- a/spec/features/projects/snippets/user_comments_on_snippet_spec.rb +++ b/spec/features/projects/snippets/user_comments_on_snippet_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Snippets > User comments on a snippet', :js do +RSpec.describe 'Projects > Snippets > User comments on a snippet', :js do let_it_be(:project) { create(:project) } let_it_be(:user) { create(:user) } let_it_be(:snippet) { create(:project_snippet, :repository, project: project, author: user) } diff --git a/spec/features/projects/snippets/user_deletes_snippet_spec.rb b/spec/features/projects/snippets/user_deletes_snippet_spec.rb index 7e337710e19..44fe9834484 100644 --- a/spec/features/projects/snippets/user_deletes_snippet_spec.rb +++ b/spec/features/projects/snippets/user_deletes_snippet_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Snippets > User deletes a snippet' do +RSpec.describe 'Projects > Snippets > User deletes a snippet' do let(:project) { create(:project) } let!(:snippet) { create(:project_snippet, project: project, author: user) } let(:user) { create(:user) } diff --git a/spec/features/projects/snippets/user_updates_snippet_spec.rb b/spec/features/projects/snippets/user_updates_snippet_spec.rb index d19fe9e8d38..a40113bd93e 100644 --- a/spec/features/projects/snippets/user_updates_snippet_spec.rb +++ b/spec/features/projects/snippets/user_updates_snippet_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Snippets > User updates a snippet', :js do +RSpec.describe 'Projects > Snippets > User updates a snippet', :js do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, namespace: user.namespace) } let_it_be(:snippet, reload: true) { create(:project_snippet, :repository, project: project, author: user) } diff --git a/spec/features/projects/snippets/user_views_snippets_spec.rb b/spec/features/projects/snippets/user_views_snippets_spec.rb index 22910029ee5..bc8cba1dc31 100644 --- a/spec/features/projects/snippets/user_views_snippets_spec.rb +++ b/spec/features/projects/snippets/user_views_snippets_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Snippets > User views snippets' do +RSpec.describe 'Projects > Snippets > User views snippets' do let_it_be(:project) { create(:project) } let(:user) { create(:user) } diff --git a/spec/features/projects/sourcegraph_csp_spec.rb b/spec/features/projects/sourcegraph_csp_spec.rb index f252d3cd027..25d27462aa9 100644 --- a/spec/features/projects/sourcegraph_csp_spec.rb +++ b/spec/features/projects/sourcegraph_csp_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Sourcegraph Content Security Policy' do +RSpec.describe 'Sourcegraph Content Security Policy' do let_it_be(:user) { create(:user) } let_it_be(:project) { create(:project, :repository, namespace: user.namespace) } diff --git a/spec/features/projects/sub_group_issuables_spec.rb b/spec/features/projects/sub_group_issuables_spec.rb index d6faec2078d..8c1d88276df 100644 --- a/spec/features/projects/sub_group_issuables_spec.rb +++ b/spec/features/projects/sub_group_issuables_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Subgroup Issuables', :js do +RSpec.describe 'Subgroup Issuables', :js do let!(:group) { create(:group, name: 'group') } let!(:subgroup) { create(:group, parent: group, name: 'subgroup') } let!(:project) { create(:project, namespace: subgroup, name: 'project') } diff --git a/spec/features/projects/tags/download_buttons_spec.rb b/spec/features/projects/tags/download_buttons_spec.rb index 64141cf5dc9..0f1f72fd039 100644 --- a/spec/features/projects/tags/download_buttons_spec.rb +++ b/spec/features/projects/tags/download_buttons_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Download buttons in tags page' do +RSpec.describe 'Download buttons in tags page' do let(:user) { create(:user) } let(:role) { :developer } let(:status) { 'success' } diff --git a/spec/features/projects/tags/user_edits_tags_spec.rb b/spec/features/projects/tags/user_edits_tags_spec.rb index 6388875a619..7a8a685f3d9 100644 --- a/spec/features/projects/tags/user_edits_tags_spec.rb +++ b/spec/features/projects/tags/user_edits_tags_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project > Tags', :js do +RSpec.describe 'Project > Tags', :js do include DropzoneHelper let(:user) { create(:user) } diff --git a/spec/features/projects/tags/user_views_tags_spec.rb b/spec/features/projects/tags/user_views_tags_spec.rb index 7b49b0d0f65..ef363ab6158 100644 --- a/spec/features/projects/tags/user_views_tags_spec.rb +++ b/spec/features/projects/tags/user_views_tags_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -describe 'User views tags', :feature do +RSpec.describe 'User views tags', :feature do context 'rss' do shared_examples 'has access to the tags RSS feed' do it do diff --git a/spec/features/projects/tree/create_directory_spec.rb b/spec/features/projects/tree/create_directory_spec.rb index 829b01832df..54b081161e5 100644 --- a/spec/features/projects/tree/create_directory_spec.rb +++ b/spec/features/projects/tree/create_directory_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Multi-file editor new directory', :js do +RSpec.describe 'Multi-file editor new directory', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/tree/create_file_spec.rb b/spec/features/projects/tree/create_file_spec.rb index 58ff623c9ae..cefb84e6f5e 100644 --- a/spec/features/projects/tree/create_file_spec.rb +++ b/spec/features/projects/tree/create_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Multi-file editor new file', :js do +RSpec.describe 'Multi-file editor new file', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/tree/rss_spec.rb b/spec/features/projects/tree/rss_spec.rb index 4300574210f..efbfc329c9f 100644 --- a/spec/features/projects/tree/rss_spec.rb +++ b/spec/features/projects/tree/rss_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Project Tree RSS' do +RSpec.describe 'Project Tree RSS' do let(:user) { create(:user) } let(:project) { create(:project, :repository, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_tree_path(project, :master) } diff --git a/spec/features/projects/tree/tree_show_spec.rb b/spec/features/projects/tree/tree_show_spec.rb index 2407a9e6ea3..388fa39874d 100644 --- a/spec/features/projects/tree/tree_show_spec.rb +++ b/spec/features/projects/tree/tree_show_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects tree', :js do +RSpec.describe 'Projects tree', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:gravatar_enabled) { true } @@ -24,7 +24,7 @@ describe 'Projects tree', :js do expect(page).to have_selector('.tree-item') expect(page).to have_content('add tests for .gitattributes custom highlighting') expect(page).not_to have_selector('.flash-alert') - expect(page).not_to have_selector('.label-lfs', text: 'LFS') + expect(page).not_to have_selector('[data-qa-selector="label-lfs"]', text: 'LFS') end it 'renders tree table for a subtree without errors' do @@ -33,7 +33,7 @@ describe 'Projects tree', :js do expect(page).to have_selector('.tree-item') expect(page).to have_content('add spaces in whitespace file') - expect(page).not_to have_selector('.label-lfs', text: 'LFS') + expect(page).not_to have_selector('[data-qa-selector="label-lfs"]', text: 'LFS') expect(page).not_to have_selector('.flash-alert') end @@ -86,7 +86,7 @@ describe 'Projects tree', :js do it 'renders LFS badge on blob item' do visit project_tree_path(project, File.join('master', 'files/lfs')) - expect(page).to have_selector('.label-lfs', text: 'LFS') + expect(page).to have_selector('[data-qa-selector="label-lfs"]', text: 'LFS') end end diff --git a/spec/features/projects/tree/upload_file_spec.rb b/spec/features/projects/tree/upload_file_spec.rb index 38c29263b1e..ce00483bc91 100644 --- a/spec/features/projects/tree/upload_file_spec.rb +++ b/spec/features/projects/tree/upload_file_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Multi-file editor upload file', :js do +RSpec.describe 'Multi-file editor upload file', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:txt_file) { File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt') } diff --git a/spec/features/projects/user_changes_project_visibility_spec.rb b/spec/features/projects/user_changes_project_visibility_spec.rb index 31da4140d35..6935ad4be02 100644 --- a/spec/features/projects/user_changes_project_visibility_spec.rb +++ b/spec/features/projects/user_changes_project_visibility_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User changes public project visibility', :js do +RSpec.describe 'User changes public project visibility', :js do include ProjectForksHelper before do diff --git a/spec/features/projects/user_creates_project_spec.rb b/spec/features/projects/user_creates_project_spec.rb index 361367f1a3d..b204ae76e07 100644 --- a/spec/features/projects/user_creates_project_spec.rb +++ b/spec/features/projects/user_creates_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User creates a project', :js do +RSpec.describe 'User creates a project', :js do let(:user) { create(:user) } before do diff --git a/spec/features/projects/user_sees_sidebar_spec.rb b/spec/features/projects/user_sees_sidebar_spec.rb index 4226cdcc759..cc2a9eacbad 100644 --- a/spec/features/projects/user_sees_sidebar_spec.rb +++ b/spec/features/projects/user_sees_sidebar_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > User sees sidebar' do +RSpec.describe 'Projects > User sees sidebar' do let(:user) { create(:user) } let(:project) { create(:project, :private, public_builds: false, namespace: user.namespace) } diff --git a/spec/features/projects/user_sees_user_popover_spec.rb b/spec/features/projects/user_sees_user_popover_spec.rb index 6197460776d..851ce79e1c6 100644 --- a/spec/features/projects/user_sees_user_popover_spec.rb +++ b/spec/features/projects/user_sees_user_popover_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User sees user popover', :js do +RSpec.describe 'User sees user popover', :js do include Spec::Support::Helpers::Features::NotesHelpers let_it_be(:project) { create(:project, :repository) } diff --git a/spec/features/projects/user_uses_shortcuts_spec.rb b/spec/features/projects/user_uses_shortcuts_spec.rb index 2d629ef538a..8fa5f741a95 100644 --- a/spec/features/projects/user_uses_shortcuts_spec.rb +++ b/spec/features/projects/user_uses_shortcuts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User uses shortcuts', :js do +RSpec.describe 'User uses shortcuts', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } diff --git a/spec/features/projects/user_views_empty_project_spec.rb b/spec/features/projects/user_views_empty_project_spec.rb index cb6b63d4dd5..9202d18b86f 100644 --- a/spec/features/projects/user_views_empty_project_spec.rb +++ b/spec/features/projects/user_views_empty_project_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views an empty project' do +RSpec.describe 'User views an empty project' do let(:project) { create(:project, :empty_repo) } let(:user) { create(:user) } diff --git a/spec/features/projects/view_on_env_spec.rb b/spec/features/projects/view_on_env_spec.rb index 845c7b89a71..6f78f888c12 100644 --- a/spec/features/projects/view_on_env_spec.rb +++ b/spec/features/projects/view_on_env_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'View on environment', :js do +RSpec.describe 'View on environment', :js do let(:branch_name) { 'feature' } let(:file_path) { 'files/ruby/feature.rb' } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/wiki/markdown_preview_spec.rb b/spec/features/projects/wiki/markdown_preview_spec.rb index bc567d4db42..8eba2c98595 100644 --- a/spec/features/projects/wiki/markdown_preview_spec.rb +++ b/spec/features/projects/wiki/markdown_preview_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Wiki > User previews markdown changes', :js do +RSpec.describe 'Projects > Wiki > User previews markdown changes', :js do let_it_be(:user) { create(:user) } let(:project) { create(:project, :wiki_repo, namespace: user.namespace) } let(:wiki_page) { create(:wiki_page, wiki: project.wiki, title: 'home', content: '[some link](other-page)') } diff --git a/spec/features/projects/wiki/shortcuts_spec.rb b/spec/features/projects/wiki/shortcuts_spec.rb index c51af2526c9..170e7afb51f 100644 --- a/spec/features/projects/wiki/shortcuts_spec.rb +++ b/spec/features/projects/wiki/shortcuts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Wiki shortcuts', :js do +RSpec.describe 'Wiki shortcuts', :js do let(:user) { create(:user) } let(:project) { create(:project, :wiki_repo, namespace: user.namespace) } let(:wiki_page) { create(:wiki_page, wiki: project.wiki, title: 'home', content: 'Home page') } diff --git a/spec/features/projects/wiki/user_creates_wiki_page_spec.rb b/spec/features/projects/wiki/user_creates_wiki_page_spec.rb index 5678ebcb72a..eba1b63765a 100644 --- a/spec/features/projects/wiki/user_creates_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_creates_wiki_page_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "User creates wiki page" do +RSpec.describe "User creates wiki page" do include WikiHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb b/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb index 38e5e292064..a5d865d581b 100644 --- a/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User deletes wiki page', :js do +RSpec.describe 'User deletes wiki page', :js do let(:user) { create(:user) } let(:project) { create(:project, :wiki_repo, namespace: user.namespace) } let(:wiki_page) { create(:wiki_page, wiki: project.wiki) } diff --git a/spec/features/projects/wiki/user_git_access_wiki_page_spec.rb b/spec/features/projects/wiki/user_git_access_wiki_page_spec.rb index 6c6af1c41d2..83679c6bd1d 100644 --- a/spec/features/projects/wiki/user_git_access_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_git_access_wiki_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Wiki > User views Git access wiki page' do +RSpec.describe 'Projects > Wiki > User views Git access wiki page' do let(:user) { create(:user) } let(:project) { create(:project, :wiki_repo, :public) } let(:wiki_page) { create(:wiki_page, wiki: project.wiki, title: 'home', content: '[some link](other-page)') } diff --git a/spec/features/projects/wiki/user_updates_wiki_page_spec.rb b/spec/features/projects/wiki/user_updates_wiki_page_spec.rb index 55509ddfa10..05d8989d88a 100644 --- a/spec/features/projects/wiki/user_updates_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_updates_wiki_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User updates wiki page' do +RSpec.describe 'User updates wiki page' do include WikiHelpers let(:user) { create(:user) } @@ -29,7 +29,7 @@ describe 'User updates wiki page' do click_on('Cancel') end - expect(current_path).to eq project_wiki_path(project, :home) + expect(current_path).to eq wiki_path(project.wiki) end it 'updates a page that has a path', :js do diff --git a/spec/features/projects/wiki/user_views_wiki_empty_spec.rb b/spec/features/projects/wiki/user_views_wiki_empty_spec.rb index ab0f9b750d2..d9f79162c19 100644 --- a/spec/features/projects/wiki/user_views_wiki_empty_spec.rb +++ b/spec/features/projects/wiki/user_views_wiki_empty_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views empty wiki' do +RSpec.describe 'User views empty wiki' do let(:user) { create(:user) } shared_examples 'empty wiki and accessible issues' do @@ -12,6 +12,8 @@ describe 'User views empty wiki' do element = page.find('.row.empty-state') expect(element).to have_content('This project has no wiki pages') + expect(element).to have_content('You must be a project member') + expect(element).to have_content('improve the wiki for this project') expect(element).to have_link("issue tracker", href: project_issues_path(project)) expect(element).to have_link("Suggest wiki improvement", href: new_project_issue_path(project)) end @@ -24,6 +26,7 @@ describe 'User views empty wiki' do element = page.find('.row.empty-state') expect(element).to have_content('This project has no wiki pages') + expect(element).to have_content('You must be a project member') expect(element).to have_no_link('Suggest wiki improvement') end end @@ -66,9 +69,10 @@ describe 'User views empty wiki' do it 'show "create first page" message' do visit(project_wikis_path(project)) - element = page.find('.row.empty-state') + expect(element).to have_content('your project', count: 2) + element.click_link 'Create your first page' expect(page).to have_button('Create page') diff --git a/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb index cb425e8b704..30b94495e3d 100644 --- a/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb +++ b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'Projects > Wiki > User views wiki in project page' do +RSpec.describe 'Projects > Wiki > User views wiki in project page' do let(:user) { create(:user) } before do diff --git a/spec/features/projects/wiki/user_views_wiki_page_spec.rb b/spec/features/projects/wiki/user_views_wiki_page_spec.rb index e379e7466db..59ccb83a9bb 100644 --- a/spec/features/projects/wiki/user_views_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_views_wiki_page_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views a wiki page' do +RSpec.describe 'User views a wiki page' do include WikiHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/wiki/user_views_wiki_pages_spec.rb b/spec/features/projects/wiki/user_views_wiki_pages_spec.rb index 584b2a76143..fea913b8212 100644 --- a/spec/features/projects/wiki/user_views_wiki_pages_spec.rb +++ b/spec/features/projects/wiki/user_views_wiki_pages_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views wiki pages' do +RSpec.describe 'User views wiki pages' do include WikiHelpers let(:user) { create(:user) } diff --git a/spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb b/spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb index 014b63fa154..5c45e34595f 100644 --- a/spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb +++ b/spec/features/projects/wiki/users_views_asciidoc_page_with_includes_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe 'User views AsciiDoc page with includes', :js do +RSpec.describe 'User views AsciiDoc page with includes', :js do let_it_be(:user) { create(:user) } let_it_be(:wiki_content_selector) { '[data-qa-selector=wiki_page_content]' } let(:project) { create(:project, :public, :wiki_repo) } |