diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2018-07-05 06:32:05 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-07-05 06:32:05 +0000 |
commit | 3db2f327594e134729a0ca2f48a748bb28ab7d6c (patch) | |
tree | 661033b988897aaf506c0deaf457c2002e17d51b /spec/features/projects | |
parent | baab4cddb091c0aa9649fecc340b8b343747ba83 (diff) | |
download | gitlab-ce-3db2f327594e134729a0ca2f48a748bb28ab7d6c.tar.gz |
Enable Capybara/FeatureMethods cop
Diffstat (limited to 'spec/features/projects')
81 files changed, 340 insertions, 338 deletions
diff --git a/spec/features/projects/activity/rss_spec.rb b/spec/features/projects/activity/rss_spec.rb index 4ac34adde0e..411134e7b8e 100644 --- a/spec/features/projects/activity/rss_spec.rb +++ b/spec/features/projects/activity/rss_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project Activity RSS' do +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 644a837dc14..e0248911b5f 100644 --- a/spec/features/projects/activity/user_sees_activity_spec.rb +++ b/spec/features/projects/activity/user_sees_activity_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Activity > User sees activity' do +describe 'Projects > Activity > User sees activity' do let(:project) { create(:project, :repository, :public) } let(:user) { project.creator } diff --git a/spec/features/projects/artifacts/file_spec.rb b/spec/features/projects/artifacts/file_spec.rb index df1d17bdcb7..993d0040434 100644 --- a/spec/features/projects/artifacts/file_spec.rb +++ b/spec/features/projects/artifacts/file_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Artifact file', :js do +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 0bec6e9ad31..d8ee9adda6b 100644 --- a/spec/features/projects/artifacts/raw_spec.rb +++ b/spec/features/projects/artifacts/raw_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Raw artifact', :js do +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/badges/coverage_spec.rb b/spec/features/projects/badges/coverage_spec.rb index f51001edcd7..8522ea747fa 100644 --- a/spec/features/projects/badges/coverage_spec.rb +++ b/spec/features/projects/badges/coverage_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' -feature 'test coverage badge' do - given!(:user) { create(:user) } - given!(:project) { create(:project, :private) } +describe 'test coverage badge' do + let!(:user) { create(:user) } + let!(:project) { create(:project, :private) } context 'when user has access to view badge' do - background do + before do project.add_developer(user) sign_in(user) end - scenario 'user requests coverage badge image for pipeline' do + it 'user requests coverage badge image for pipeline' do create_pipeline do |pipeline| create_build(pipeline, coverage: 100, name: 'test:1') create_build(pipeline, coverage: 90, name: 'test:2') @@ -21,7 +21,7 @@ feature 'test coverage badge' do expect_coverage_badge('95.00%') end - scenario 'user requests coverage badge for specific job' do + it 'user requests coverage badge for specific job' do create_pipeline do |pipeline| create_build(pipeline, coverage: 50, name: 'test:1') create_build(pipeline, coverage: 50, name: 'test:2') @@ -33,7 +33,7 @@ feature 'test coverage badge' do expect_coverage_badge('85.00%') end - scenario 'user requests coverage badge for pipeline without coverage' do + it 'user requests coverage badge for pipeline without coverage' do create_pipeline do |pipeline| create_build(pipeline, coverage: nil, name: 'test') end @@ -45,9 +45,11 @@ feature 'test coverage badge' do end context 'when user does not have access to view badge' do - background { sign_in(user) } + before do + sign_in(user) + end - scenario 'user requests test coverage badge image' do + it 'user requests test coverage badge image' do show_test_coverage_badge expect(page).to have_gitlab_http_status(404) diff --git a/spec/features/projects/badges/list_spec.rb b/spec/features/projects/badges/list_spec.rb index 0abef4bc447..da87039ad44 100644 --- a/spec/features/projects/badges/list_spec.rb +++ b/spec/features/projects/badges/list_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' -feature 'list of badges' do - background do +describe 'list of badges' do + before do user = create(:user) project = create(:project, :repository) project.add_master(user) @@ -9,7 +9,7 @@ feature 'list of badges' do visit project_settings_ci_cd_path(project) end - scenario 'user wants to see build status badge' do + it 'user wants to see build status badge' do page.within('.pipeline-status') do expect(page).to have_content 'pipeline status' expect(page).to have_content 'Markdown' @@ -24,7 +24,7 @@ feature 'list of badges' do end end - scenario 'user wants to see coverage report badge' do + it 'user wants to see coverage report badge' do page.within('.coverage-report') do expect(page).to have_content 'coverage report' expect(page).to have_content 'Markdown' @@ -39,7 +39,7 @@ feature 'list of badges' do end end - scenario 'user changes current ref of build status badge', :js do + it 'user changes current ref of build status badge', :js do page.within('.pipeline-status') do first('.js-project-refs-dropdown').click diff --git a/spec/features/projects/badges/pipeline_badge_spec.rb b/spec/features/projects/badges/pipeline_badge_spec.rb index b83ea8f4eaa..8c4488b2ca6 100644 --- a/spec/features/projects/badges/pipeline_badge_spec.rb +++ b/spec/features/projects/badges/pipeline_badge_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Pipeline Badge' do +describe 'Pipeline Badge' do set(: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 c12e56d2c3f..96f514f4f04 100644 --- a/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb +++ b/spec/features/projects/blobs/blob_line_permalink_updater_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Blob button line permalinks (BlobLinePermalinkUpdater)', :js do +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 e7b305925f7..7280d421cea 100644 --- a/spec/features/projects/blobs/blob_show_spec.rb +++ b/spec/features/projects/blobs/blob_show_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'File blob', :js do +describe 'File blob', :js do include MobileHelpers let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/projects/blobs/edit_spec.rb b/spec/features/projects/blobs/edit_spec.rb index 89d3bd24b89..2657f5d999f 100644 --- a/spec/features/projects/blobs/edit_spec.rb +++ b/spec/features/projects/blobs/edit_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Editing file blob', :js do +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 9f1fef80ab5..aeed38aeb76 100644 --- a/spec/features/projects/blobs/shortcuts_blob_spec.rb +++ b/spec/features/projects/blobs/shortcuts_blob_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Blob shortcuts' do +describe 'Blob shortcuts' 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 b7d063596c1..0b7988f6335 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 @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User creates blob in new project', :js do +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/branches/download_buttons_spec.rb b/spec/features/projects/branches/download_buttons_spec.rb index 605298ba8ab..c8dc72a34ec 100644 --- a/spec/features/projects/branches/download_buttons_spec.rb +++ b/spec/features/projects/branches/download_buttons_spec.rb @@ -1,12 +1,12 @@ require 'spec_helper' -feature 'Download buttons in branches page' do - given(:user) { create(:user) } - given(:role) { :developer } - given(:status) { 'success' } - given(:project) { create(:project, :repository) } +describe 'Download buttons in branches page' do + let(:user) { create(:user) } + let(:role) { :developer } + let(:status) { 'success' } + let(:project) { create(:project, :repository) } - given(:pipeline) do + let(:pipeline) do create(:ci_pipeline, project: project, sha: project.commit('binary-encoding').sha, @@ -14,14 +14,14 @@ feature 'Download buttons in branches page' do status: status) end - given!(:build) do + let!(:build) do create(:ci_build, :success, :artifacts, pipeline: pipeline, status: pipeline.status, name: 'build') end - background do + before do sign_in(user) project.add_role(user, role) end @@ -32,7 +32,7 @@ feature 'Download buttons in branches page' do visit project_branches_filtered_path(project, state: 'all', search: 'binary-encoding') end - scenario 'shows download artifacts button' do + it 'shows download artifacts button' do href = latest_succeeded_project_artifacts_path(project, 'binary-encoding/download', job: 'build') expect(page).to have_link "Download '#{build.name}'", href: href diff --git a/spec/features/projects/clusters/applications_spec.rb b/spec/features/projects/clusters/applications_spec.rb index 7b2c57aa652..f57647a348f 100644 --- a/spec/features/projects/clusters/applications_spec.rb +++ b/spec/features/projects/clusters/applications_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Clusters Applications', :js do +describe 'Clusters Applications', :js do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } @@ -19,7 +19,7 @@ feature 'Clusters Applications', :js do context 'when cluster is being created' do let(:cluster) { create(:cluster, :providing_by_gcp, projects: [project])} - scenario 'user is unable to install applications' do + it 'user is unable to install applications' do page.within('.js-cluster-application-row-helm') do expect(page.find(:css, '.js-cluster-application-install-button')['disabled']).to eq('true') expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Install') @@ -30,7 +30,7 @@ feature 'Clusters Applications', :js do context 'when cluster is created' do let(:cluster) { create(:cluster, :provided_by_gcp, projects: [project])} - scenario 'user can install applications' do + it 'user can install applications' do page.within('.js-cluster-application-row-helm') do expect(page.find(:css, '.js-cluster-application-install-button')['disabled']).to be_nil expect(page).to have_css('.js-cluster-application-install-button', exact_text: 'Install') diff --git a/spec/features/projects/clusters/gcp_spec.rb b/spec/features/projects/clusters/gcp_spec.rb index 19404fb893d..bd8cb9b4b94 100644 --- a/spec/features/projects/clusters/gcp_spec.rb +++ b/spec/features/projects/clusters/gcp_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Gcp Cluster', :js do +describe 'Gcp Cluster', :js do include GoogleApi::CloudPlatformHelpers let(:project) { create(:project) } diff --git a/spec/features/projects/clusters/interchangeability_spec.rb b/spec/features/projects/clusters/interchangeability_spec.rb index 3ddb35c755c..0033e12b6b1 100644 --- a/spec/features/projects/clusters/interchangeability_spec.rb +++ b/spec/features/projects/clusters/interchangeability_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Interchangeability between KubernetesService and Platform::Kubernetes' do +describe 'Interchangeability between KubernetesService and Platform::Kubernetes' do EXCEPT_METHODS = %i[test title description help fields initialize_properties namespace namespace= api_url api_url= deprecated? deprecation_message].freeze EXCEPT_METHODS_GREP_V = %w[_touched? _changed? _was].freeze diff --git a/spec/features/projects/clusters/user_spec.rb b/spec/features/projects/clusters/user_spec.rb index 766ea58cc17..a49dd72a91f 100644 --- a/spec/features/projects/clusters/user_spec.rb +++ b/spec/features/projects/clusters/user_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User Cluster', :js do +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 64241102c8b..a7274c99704 100644 --- a/spec/features/projects/clusters_spec.rb +++ b/spec/features/projects/clusters_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Clusters', :js do +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 36a746ac83d..da0552441fe 100644 --- a/spec/features/projects/commit/builds_spec.rb +++ b/spec/features/projects/commit/builds_spec.rb @@ -1,22 +1,22 @@ require 'spec_helper' -feature 'project commit pipelines', :js do - given(:project) { create(:project, :repository) } +describe 'project commit pipelines', :js do + let(:project) { create(:project, :repository) } - background do + before do user = create(:user) project.add_master(user) sign_in(user) end context 'when no builds triggered yet' do - background do + before do create(:ci_pipeline, project: project, sha: project.commit.sha, ref: 'master') end - scenario 'user views commit pipelines page' do + it 'user views commit pipelines page' do visit pipelines_project_commit_path(project, project.commit.sha) page.within('.table-holder') do diff --git a/spec/features/projects/commit/diff_notes_spec.rb b/spec/features/projects/commit/diff_notes_spec.rb index 4dbfc6f6edf..6d66889761f 100644 --- a/spec/features/projects/commit/diff_notes_spec.rb +++ b/spec/features/projects/commit/diff_notes_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Commit diff', :js do +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 91282063a8d..19f6ebf2c1a 100644 --- a/spec/features/projects/commit/mini_pipeline_graph_spec.rb +++ b/spec/features/projects/commit/mini_pipeline_graph_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Mini Pipeline Graph in Commit View', :js do +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/commits/rss_spec.rb b/spec/features/projects/commits/rss_spec.rb index 0bc207da970..cfc2637f1b2 100644 --- a/spec/features/projects/commits/rss_spec.rb +++ b/spec/features/projects/commits/rss_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project Commits RSS' do +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/diffs/diff_show_spec.rb b/spec/features/projects/diffs/diff_show_spec.rb index 9bfcb1e816a..237157cd89d 100644 --- a/spec/features/projects/diffs/diff_show_spec.rb +++ b/spec/features/projects/diffs/diff_show_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Diff file viewer', :js do +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 82a722c5960..edbab14f7c1 100644 --- a/spec/features/projects/environments/environment_metrics_spec.rb +++ b/spec/features/projects/environments/environment_metrics_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' -feature 'Environment > Metrics' do +describe 'Environment > Metrics' do include PrometheusHelpers - given(:user) { create(:user) } - given(:project) { create(:prometheus_project) } - given(:pipeline) { create(:ci_pipeline, project: project) } - given(:build) { create(:ci_build, pipeline: pipeline) } - given(:environment) { create(:environment, project: project) } - given(:current_time) { Time.now.utc } + let(:user) { create(:user) } + let(:project) { create(:prometheus_project) } + let(:pipeline) { create(:ci_pipeline, project: project) } + let(:build) { create(:ci_build, pipeline: pipeline) } + let(:environment) { create(:environment, project: project) } + let(:current_time) { Time.now.utc } - background do + before do project.add_developer(user) create(:deployment, environment: environment, deployable: build) stub_all_prometheus_requests(environment.slug) @@ -24,7 +24,7 @@ feature 'Environment > Metrics' do end context 'with deployments and related deployable present' do - scenario 'shows metrics' do + it 'shows metrics' do click_link('See metrics') expect(page).to have_css('div#prometheus-graphs') diff --git a/spec/features/projects/environments/environment_spec.rb b/spec/features/projects/environments/environment_spec.rb index b233af83eec..0c34309c1f4 100644 --- a/spec/features/projects/environments/environment_spec.rb +++ b/spec/features/projects/environments/environment_spec.rb @@ -1,42 +1,42 @@ require 'spec_helper' -feature 'Environment' do - given(:project) { create(:project) } - given(:user) { create(:user) } - given(:role) { :developer } +describe 'Environment' do + let(:project) { create(:project) } + let(:user) { create(:user) } + let(:role) { :developer } - background do + before do sign_in(user) project.add_role(user, role) end - feature 'environment details page' do - given!(:environment) { create(:environment, project: project) } - given!(:permissions) { } - given!(:deployment) { } - given!(:action) { } + describe 'environment details page' do + let!(:environment) { create(:environment, project: project) } + let!(:permissions) { } + let!(:deployment) { } + let!(:action) { } before do visit_environment(environment) end - scenario 'shows environment name' do + it 'shows environment name' do expect(page).to have_content(environment.name) end context 'without deployments' do - scenario 'does show no deployments' do + it 'does show no deployments' do expect(page).to have_content('You don\'t have any deployments right now.') end end context 'with deployments' do context 'when there is no related deployable' do - given(:deployment) do + let(:deployment) do create(:deployment, environment: environment, deployable: nil) end - scenario 'does show deployment SHA' do + it 'does show deployment SHA' do expect(page).to have_link(deployment.short_sha) expect(page).not_to have_link('Re-deploy') expect(page).not_to have_terminal_button @@ -44,27 +44,27 @@ feature 'Environment' do end context 'with related deployable present' do - given(:pipeline) { create(:ci_pipeline, project: project) } - given(:build) { create(:ci_build, pipeline: pipeline) } + let(:pipeline) { create(:ci_pipeline, project: project) } + let(:build) { create(:ci_build, pipeline: pipeline) } - given(:deployment) do + let(:deployment) do create(:deployment, environment: environment, deployable: build) end - scenario 'does show build name' do + it 'does show build name' do expect(page).to have_link("#{build.name} (##{build.id})") expect(page).to have_link('Re-deploy') expect(page).not_to have_terminal_button end context 'with manual action' do - given(:action) do + let(:action) do create(:ci_build, :manual, pipeline: pipeline, name: 'deploy to production') end context 'when user has ability to trigger deployment' do - given(:permissions) do + let(:permissions) do create(:protected_branch, :developers_can_merge, name: action.ref, project: project) end @@ -91,11 +91,11 @@ feature 'Environment' do end context 'with external_url' do - given(:environment) { create(:environment, project: project, external_url: 'https://git.gitlab.com') } - given(:build) { create(:ci_build, pipeline: pipeline) } - given(:deployment) { create(:deployment, environment: environment, deployable: build) } + let(:environment) { create(:environment, project: project, external_url: 'https://git.gitlab.com') } + let(:build) { create(:ci_build, pipeline: pipeline) } + let(:deployment) { create(:deployment, environment: environment, deployable: build) } - scenario 'does show an external link button' do + it 'does show an external link button' do expect(page).to have_link(nil, href: environment.external_url) end end @@ -105,7 +105,7 @@ feature 'Environment' do context 'for project master' do let(:role) { :master } - scenario 'it shows the terminal button' do + it 'it shows the terminal button' do expect(page).to have_terminal_button end @@ -126,7 +126,7 @@ feature 'Environment' do context 'for developer' do let(:role) { :developer } - scenario 'does not show terminal button' do + it 'does not show terminal button' do expect(page).not_to have_terminal_button end end @@ -148,19 +148,19 @@ feature 'Environment' do context 'when environment is available' do context 'with stop action' do - given(:action) do + let(:action) do create(:ci_build, :manual, pipeline: pipeline, name: 'close_app') end - given(:deployment) do + let(:deployment) do create(:deployment, environment: environment, deployable: build, on_stop: 'close_app') end context 'when user has ability to stop environment' do - given(:permissions) do + let(:permissions) do create(:protected_branch, :developers_can_merge, name: action.ref, project: project) end @@ -181,7 +181,7 @@ feature 'Environment' do context 'for reporter' do let(:role) { :reporter } - scenario 'does not show stop button' do + it 'does not show stop button' do expect(page).not_to have_link('Stop') end end @@ -189,9 +189,9 @@ feature 'Environment' do end context 'when environment is stopped' do - given(:environment) { create(:environment, project: project, state: :stopped) } + let(:environment) { create(:environment, project: project, state: :stopped) } - scenario 'does not show stop button' do + it 'does not show stop button' do expect(page).not_to have_link('Stop') end end @@ -200,7 +200,7 @@ feature 'Environment' do end end - feature 'environment folders', :js do + describe 'environment folders', :js do context 'when folder name contains special charaters' do before do create(:environment, project: project, @@ -219,21 +219,21 @@ feature 'Environment' do end end - feature 'auto-close environment when branch is deleted' do - given(:project) { create(:project, :repository) } + describe 'auto-close environment when branch is deleted' do + let(:project) { create(:project, :repository) } - given!(:environment) do + let!(:environment) do create(:environment, :with_review_app, project: project, ref: 'feature') end - scenario 'user visits environment page' do + it 'user visits environment page' do visit_environment(environment) expect(page).to have_link('Stop') end - scenario 'user deletes the branch with running environment' do + it 'user deletes the branch with running environment' do visit project_branches_filtered_path(project, state: 'all', search: 'feature') remove_branch_with_hooks(project, user, 'feature') do diff --git a/spec/features/projects/environments/environments_spec.rb b/spec/features/projects/environments/environments_spec.rb index f9defa22d35..9900c13095e 100644 --- a/spec/features/projects/environments/environments_spec.rb +++ b/spec/features/projects/environments/environments_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' -feature 'Environments page', :js do - given(:project) { create(:project) } - given(:user) { create(:user) } - given(:role) { :developer } +describe 'Environments page', :js do + let(:project) { create(:project) } + let(:user) { create(:user) } + let(:role) { :developer } - background do + before do project.add_role(user, role) sign_in(user) end @@ -99,7 +99,7 @@ feature 'Environments page', :js do end describe 'environments table' do - given!(:environment) do + let!(:environment) do create(:environment, project: project, state: :available) end @@ -125,9 +125,9 @@ feature 'Environments page', :js do end context 'when there are deployments' do - given(:project) { create(:project, :repository) } + let(:project) { create(:project, :repository) } - given!(:deployment) do + let!(:deployment) do create(:deployment, environment: environment, sha: project.commit.id) end @@ -140,14 +140,14 @@ feature 'Environments page', :js do end context 'when builds and manual actions are present' do - given!(:pipeline) { create(:ci_pipeline, project: project) } - given!(:build) { create(:ci_build, pipeline: pipeline) } + let!(:pipeline) { create(:ci_pipeline, project: project) } + let!(:build) { create(:ci_build, pipeline: pipeline) } - given!(:action) do + let!(:action) do create(:ci_build, :manual, pipeline: pipeline, name: 'deploy to production') end - given!(:deployment) do + let!(:deployment) do create(:deployment, environment: environment, deployable: build, sha: project.commit.id) @@ -190,9 +190,9 @@ feature 'Environments page', :js do end context 'with external_url' do - given(:environment) { create(:environment, project: project, external_url: 'https://git.gitlab.com') } - given(:build) { create(:ci_build, pipeline: pipeline) } - given(:deployment) { create(:deployment, environment: environment, deployable: build) } + let(:environment) { create(:environment, project: project, external_url: 'https://git.gitlab.com') } + let(:build) { create(:ci_build, pipeline: pipeline) } + let(:deployment) { create(:deployment, environment: environment, deployable: build) } it 'shows an external link button' do expect(page).to have_link(nil, href: environment.external_url) @@ -200,11 +200,11 @@ feature 'Environments page', :js do end context 'with stop action' do - given(:action) do + let(:action) do create(:ci_build, :manual, pipeline: pipeline, name: 'close_app') end - given(:deployment) do + let(:deployment) do create(:deployment, environment: environment, deployable: build, on_stop: 'close_app') @@ -271,9 +271,9 @@ feature 'Environments page', :js do end context 'user is a developer' do - given(:role) { :developer } + let(:role) { :developer } - scenario 'developer creates a new environment with a valid name' do + it 'developer creates a new environment with a valid name' do within(".top-area") { click_link 'New environment' } fill_in('Name', with: 'production') click_on 'Save' @@ -281,7 +281,7 @@ feature 'Environments page', :js do expect(page).to have_content('production') end - scenario 'developer creates a new environmetn with invalid name' do + it 'developer creates a new environmetn with invalid name' do within(".top-area") { click_link 'New environment' } fill_in('Name', with: 'name,with,commas') click_on 'Save' @@ -291,9 +291,9 @@ feature 'Environments page', :js do end context 'user is a reporter' do - given(:role) { :reporter } + let(:role) { :reporter } - scenario 'reporters tries to create a new environment' do + it 'reporters tries to create a new environment' do expect(page).not_to have_link('New environment') end end @@ -309,7 +309,7 @@ feature 'Environments page', :js do state: :available) end - scenario 'users unfurls an environment folder' do + it 'users unfurls an environment folder' do visit_environments(project) expect(page).not_to have_content 'review-1' @@ -335,7 +335,7 @@ feature 'Environments page', :js do state: :available) end - scenario 'user opens folder view' do + it 'user opens folder view' do visit folder_project_environments_path(project, 'staging.review') wait_for_requests diff --git a/spec/features/projects/files/template_selector_menu_spec.rb b/spec/features/projects/files/template_selector_menu_spec.rb index b549a69ddf3..b7e1e172af9 100644 --- a/spec/features/projects/files/template_selector_menu_spec.rb +++ b/spec/features/projects/files/template_selector_menu_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Template selector menu', :js do +describe 'Template selector menu', :js do let(:project) { create(:project, :repository) } let(:user) { create(:user) } @@ -14,7 +14,7 @@ feature 'Template selector menu', :js do create_and_edit_file('README.md') end - scenario 'is not displayed' do + it 'is not displayed' do check_template_selector_menu_display(false) end @@ -23,7 +23,7 @@ feature 'Template selector menu', :js do click_link 'Preview' end - scenario 'template selector menu is not displayed' do + it 'template selector menu is not displayed' do check_template_selector_menu_display(false) click_link 'Write' check_template_selector_menu_display(false) @@ -36,7 +36,7 @@ feature 'Template selector menu', :js do visit project_edit_blob_path(project, File.join(project.default_branch, 'LICENSE')) end - scenario 'is displayed' do + it 'is displayed' do check_template_selector_menu_display(true) end @@ -45,7 +45,7 @@ feature 'Template selector menu', :js do click_link 'Preview' end - scenario 'template selector menu is hidden and shown correctly' do + it 'template selector menu is hidden and shown correctly' do check_template_selector_menu_display(false) click_link 'Write' check_template_selector_menu_display(true) 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 2fb9da2f0a2..2d0b447913e 100644 --- a/spec/features/projects/files/user_reads_pipeline_status_spec.rb +++ b/spec/features/projects/files/user_reads_pipeline_status_spec.rb @@ -17,7 +17,7 @@ describe 'user reads pipeline status', :js do end shared_examples 'visiting project tree' do - scenario 'sees the correct pipeline status' do + it 'sees the correct pipeline status' do visit project_tree_path(project, expected_pipeline.ref) wait_for_requests 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 18e975fa653..c3bc35565f6 100644 --- a/spec/features/projects/hook_logs/user_reads_log_spec.rb +++ b/spec/features/projects/hook_logs/user_reads_log_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' -feature 'Hook logs' do - given(:web_hook_log) { create(:web_hook_log, response_body: '<script>') } - given(:project) { web_hook_log.web_hook.project } - given(:user) { create(:user) } +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) } before do project.add_master(user) @@ -11,7 +11,7 @@ feature 'Hook logs' do sign_in(user) end - scenario 'user reads log without getting XSS' do + it 'user reads log without getting XSS' do visit( project_hook_hook_log_path( project, web_hook_log.web_hook, web_hook_log)) diff --git a/spec/features/projects/import_export/export_file_spec.rb b/spec/features/projects/import_export/export_file_spec.rb index 6732cf61767..8a418356541 100644 --- a/spec/features/projects/import_export/export_file_spec.rb +++ b/spec/features/projects/import_export/export_file_spec.rb @@ -4,7 +4,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 -feature 'Import/Export - project export integration test', :js do +describe 'Import/Export - project export integration test', :js do include Select2Helper include ExportFileHelper @@ -23,7 +23,7 @@ feature 'Import/Export - project export integration test', :js do let(:project) { setup_project } - background do + before do allow_any_instance_of(Gitlab::ImportExport).to receive(:storage_path).and_return(export_path) end @@ -36,7 +36,7 @@ feature 'Import/Export - project export integration test', :js do sign_in(user) end - scenario 'exports a project successfully' do + it 'exports a project successfully' do visit edit_project_path(project) expect(page).to have_content('Export project') diff --git a/spec/features/projects/import_export/import_file_spec.rb b/spec/features/projects/import_export/import_file_spec.rb index d0912e645bc..9cbfb62d872 100644 --- a/spec/features/projects/import_export/import_file_spec.rb +++ b/spec/features/projects/import_export/import_file_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -feature 'Import/Export - project import integration test', :js do +describe 'Import/Export - project import integration test', :js do include Select2Helper let(:user) { create(:user) } let(:file) { File.join(Rails.root, 'spec', 'features', 'projects', 'import_export', 'test_project_export.tar.gz') } let(:export_path) { "#{Dir.tmpdir}/import_file_spec" } - background do + before do allow_any_instance_of(Gitlab::ImportExport).to receive(:storage_path).and_return(export_path) gitlab_sign_in(user) end @@ -22,7 +22,7 @@ feature 'Import/Export - project import integration test', :js do let(:project_path) { 'test-project-path' + SecureRandom.hex } context 'prefilled the path' do - scenario 'user imports an exported project successfully' do + it 'user imports an exported project successfully' do visit new_project_path select2(namespace.id, from: '#project_namespace_id') @@ -51,7 +51,7 @@ feature 'Import/Export - project import integration test', :js do end context 'path is not prefilled' do - scenario 'user imports an exported project successfully' do + it 'user imports an exported project successfully' do visit new_project_path click_import_project_tab click_link 'GitLab export' @@ -68,7 +68,7 @@ feature 'Import/Export - project import integration test', :js do end end - scenario 'invalid project' do + it 'invalid project' do project = create(:project, namespace: user.namespace) visit new_project_path diff --git a/spec/features/projects/issuable_templates_spec.rb b/spec/features/projects/issuable_templates_spec.rb index e26caf1f456..9cd4af2de80 100644 --- a/spec/features/projects/issuable_templates_spec.rb +++ b/spec/features/projects/issuable_templates_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'issuable templates', :js do +describe 'issuable templates', :js do include ProjectForksHelper let(:user) { create(:user) } @@ -18,7 +18,7 @@ feature 'issuable templates', :js do let(:issue) { create(:issue, author: user, assignees: [user], project: project) } let(:description_addition) { ' appending to description' } - background do + before do project.repository.create_file( user, '.gitlab/issue_templates/bug.md', @@ -36,14 +36,14 @@ feature 'issuable templates', :js do fill_in :'issuable-title', with: 'test issue title' end - scenario 'user selects "bug" template' do + it 'user selects "bug" template' do select_template 'bug' wait_for_requests assert_template(page_part: issue_form_location) save_changes end - scenario 'user selects "bug" template and then "no template"' do + it 'user selects "bug" template and then "no template"' do select_template 'bug' wait_for_requests select_option 'No template' @@ -51,7 +51,7 @@ feature 'issuable templates', :js do save_changes('') end - scenario 'user selects "bug" template, edits description and then selects "reset template"' do + it 'user selects "bug" template, edits description and then selects "reset template"' do select_template 'bug' wait_for_requests find_field('issue-description').send_keys(description_addition) @@ -67,7 +67,7 @@ feature 'issuable templates', :js do let(:template_content) { 'this is a test "bug" template' } let(:issue) { create(:issue, author: user, assignees: [user], project: project) } - background do + before do project.repository.create_file( user, '.gitlab/issue_templates/bug.md', @@ -80,7 +80,7 @@ feature 'issuable templates', :js do fill_in :'issue-description', with: prior_description end - scenario 'user selects "bug" template' do + it 'user selects "bug" template' do select_template 'bug' wait_for_requests assert_template(page_part: issue_form_location) @@ -92,7 +92,7 @@ feature 'issuable templates', :js do let(:template_content) { 'this is a test "feature-proposal" template' } let(:merge_request) { create(:merge_request, :with_diffs, source_project: project) } - background do + before do project.repository.create_file( user, '.gitlab/merge_request_templates/feature-proposal.md', @@ -103,7 +103,7 @@ feature 'issuable templates', :js do fill_in :'merge_request[title]', with: 'test merge request title' end - scenario 'user selects "feature-proposal" template' do + it 'user selects "feature-proposal" template' do select_template 'feature-proposal' wait_for_requests assert_template @@ -117,7 +117,7 @@ feature 'issuable templates', :js do let(:forked_project) { fork_project(project, fork_user, repository: true) } let(:merge_request) { create(:merge_request, :with_diffs, source_project: forked_project, target_project: project) } - background do + before do sign_out(:user) project.add_developer(fork_user) @@ -136,7 +136,7 @@ feature 'issuable templates', :js do context 'feature proposal template' do context 'template exists in target project' do - scenario 'user selects template' do + it 'user selects template' do select_template 'feature-proposal' wait_for_requests assert_template diff --git a/spec/features/projects/issues/rss_spec.rb b/spec/features/projects/issues/rss_spec.rb index 8b1f7d432ee..0e1383cd607 100644 --- a/spec/features/projects/issues/rss_spec.rb +++ b/spec/features/projects/issues/rss_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project Issues RSS' do +describe 'Project Issues RSS' do let(:project) { create(:project, visibility_level: Gitlab::VisibilityLevel::PUBLIC) } let(:path) { project_issues_path(project) } diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index d06abdd999b..c742eb79392 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' require 'tempfile' -feature 'Jobs', :clean_gitlab_redis_shared_state do +describe 'Jobs', :clean_gitlab_redis_shared_state do let(:user) { create(:user) } let(:user_access_level) { :developer } let(:project) { create(:project, :repository) } @@ -259,7 +259,7 @@ feature 'Jobs', :clean_gitlab_redis_shared_state do end end - feature 'Raw trace' do + describe 'Raw trace' do before do job.run! @@ -271,7 +271,7 @@ feature 'Jobs', :clean_gitlab_redis_shared_state do end end - feature 'HTML trace', :js do + describe 'HTML trace', :js do before do job.run! @@ -291,7 +291,7 @@ feature 'Jobs', :clean_gitlab_redis_shared_state do end end - feature 'Variables' do + describe 'Variables' do let(:trigger_request) { create(:ci_trigger_request) } let(:job) do 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 0292a3192d8..6178f11ded7 100644 --- a/spec/features/projects/labels/issues_sorted_by_priority_spec.rb +++ b/spec/features/projects/labels/issues_sorted_by_priority_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Issue prioritization' do +describe 'Issue prioritization' do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } @@ -13,7 +13,7 @@ feature 'Issue prioritization' do # According to https://gitlab.com/gitlab-org/gitlab-ce/issues/14189#note_4360653 context 'when issues have one label' do - scenario 'Are sorted properly' do + it 'Are sorted properly' do # Issues issue_1 = create(:issue, title: 'issue_1', project: project) issue_2 = create(:issue, title: 'issue_2', project: project) @@ -43,7 +43,7 @@ feature 'Issue prioritization' do end context 'when issues have multiple labels' do - scenario 'Are sorted properly' do + it 'Are sorted properly' do # Issues issue_1 = create(:issue, title: 'issue_1', project: project) issue_2 = create(:issue, title: 'issue_2', project: project) diff --git a/spec/features/projects/labels/subscription_spec.rb b/spec/features/projects/labels/subscription_spec.rb index fafd338e448..49227eebf3d 100644 --- a/spec/features/projects/labels/subscription_spec.rb +++ b/spec/features/projects/labels/subscription_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Labels subscription' do +describe 'Labels subscription' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, :public, namespace: group) } @@ -13,7 +13,7 @@ feature 'Labels subscription' do sign_in user end - scenario 'users can subscribe/unsubscribe to labels', :js do + it 'users can subscribe/unsubscribe to labels', :js do visit project_labels_path(project) expect(page).to have_content('bug') diff --git a/spec/features/projects/labels/update_prioritization_spec.rb b/spec/features/projects/labels/update_prioritization_spec.rb index 359381c391c..996040fde02 100644 --- a/spec/features/projects/labels/update_prioritization_spec.rb +++ b/spec/features/projects/labels/update_prioritization_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Prioritize labels' do +describe 'Prioritize labels' do include DragTo let(:user) { create(:user) } @@ -17,7 +17,7 @@ feature 'Prioritize labels' do sign_in user end - scenario 'user can prioritize a group label', :js do + it 'user can prioritize a group label', :js do visit project_labels_path(project) expect(page).to have_content('Star labels to start sorting by priority') @@ -34,7 +34,7 @@ feature 'Prioritize labels' do end end - scenario 'user can unprioritize a group label', :js do + it 'user can unprioritize a group label', :js do create(:label_priority, project: project, label: feature, priority: 1) visit project_labels_path(project) @@ -52,7 +52,7 @@ feature 'Prioritize labels' do end end - scenario 'user can prioritize a project label', :js do + it 'user can prioritize a project label', :js do visit project_labels_path(project) expect(page).to have_content('Star labels to start sorting by priority') @@ -69,7 +69,7 @@ feature 'Prioritize labels' do end end - scenario 'user can unprioritize a project label', :js do + it 'user can unprioritize a project label', :js do create(:label_priority, project: project, label: bug, priority: 1) visit project_labels_path(project) @@ -88,7 +88,7 @@ feature 'Prioritize labels' do end end - scenario 'user can sort prioritized labels and persist across reloads', :js do + it 'user can sort prioritized labels and persist across reloads', :js do create(:label_priority, project: project, label: bug, priority: 1) create(:label_priority, project: project, label: feature, priority: 2) diff --git a/spec/features/projects/labels/user_sees_links_to_issuables.rb b/spec/features/projects/labels/user_sees_links_to_issuables.rb index aa56fd7f74e..c404fc8d66f 100644 --- a/spec/features/projects/labels/user_sees_links_to_issuables.rb +++ b/spec/features/projects/labels/user_sees_links_to_issuables.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Labels > User sees links to issuables' do +describe 'Projects > Labels > User sees links to issuables' do set(:user) { create(:user) } before do @@ -16,7 +16,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when merge requests and issues are enabled for the project' do let(:project) { create(:project, :public) } - scenario 'shows links to MRs and issues' do + it 'shows links to MRs and issues' do expect(page).to have_link('view merge requests') expect(page).to have_link('view open issues') end @@ -25,7 +25,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when issues are disabled for the project' do let(:project) { create(:project, :public, issues_access_level: ProjectFeature::DISABLED) } - scenario 'shows links to MRs but not to issues' do + it 'shows links to MRs but not to issues' do expect(page).to have_link('view merge requests') expect(page).not_to have_link('view open issues') end @@ -34,7 +34,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when merge requests are disabled for the project' do let(:project) { create(:project, :public, merge_requests_access_level: ProjectFeature::DISABLED) } - scenario 'shows links to issues but not to MRs' do + it 'shows links to issues but not to MRs' do expect(page).not_to have_link('view merge requests') expect(page).to have_link('view open issues') end @@ -48,7 +48,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when merge requests and issues are enabled for the project' do let(:project) { create(:project, :public, namespace: group) } - scenario 'shows links to MRs and issues' do + it 'shows links to MRs and issues' do expect(page).to have_link('view merge requests') expect(page).to have_link('view open issues') end @@ -57,7 +57,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when issues are disabled for the project' do let(:project) { create(:project, :public, namespace: group, issues_access_level: ProjectFeature::DISABLED) } - scenario 'shows links to MRs and issues' do + it 'shows links to MRs and issues' do expect(page).to have_link('view merge requests') expect(page).to have_link('view open issues') end @@ -66,7 +66,7 @@ feature 'Projects > Labels > User sees links to issuables' do context 'when merge requests are disabled for the project' do let(:project) { create(:project, :public, namespace: group, merge_requests_access_level: ProjectFeature::DISABLED) } - scenario 'shows links to MRs and issues' do + it 'shows links to MRs and issues' do expect(page).to have_link('view merge requests') expect(page).to have_link('view open issues') end 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 e2a48bfd1d4..19e52294a38 100644 --- a/spec/features/projects/members/anonymous_user_sees_members_spec.rb +++ b/spec/features/projects/members/anonymous_user_sees_members_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' -feature 'Projects > Members > Anonymous user sees members' do +describe 'Projects > Members > Anonymous user sees members' do let(:user) { create(:user) } let(:group) { create(:group, :public) } let(:project) { create(:project, :public) } - background do + before do project.add_master(user) create(:project_group_link, project: project, group: group) end - scenario "anonymous user visits the project's members page and sees the list of members" do + it "anonymous user visits the project's members page and sees the list of members" do visit project_project_members_path(project) expect(current_path).to eq( 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 6b450fa4e45..0ab29660189 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 @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Projects > Members > Group member cannot leave group project' do +describe 'Projects > Members > Group member cannot leave group project' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } - background do + before do group.add_developer(user) sign_in(user) visit project_path(project) end - scenario 'user does not see a "Leave project" link' do + it 'user does not see a "Leave project" link' do expect(page).not_to have_content 'Leave project' end end 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 296a80a3c60..7bc53345ddf 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 @@ -1,39 +1,39 @@ require 'spec_helper' -feature 'Projects > Members > Group member cannot request access to his group project' do +describe 'Projects > Members > Group member cannot request access to his group project' do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } - scenario 'owner does not see the request access button' do + it 'owner does not see the request access button' do group.add_owner(user) login_and_visit_project_page(user) expect(page).not_to have_content 'Request Access' end - scenario 'master does not see the request access button' do + it 'master does not see the request access button' do group.add_master(user) login_and_visit_project_page(user) expect(page).not_to have_content 'Request Access' end - scenario 'developer does not see the request access button' do + it 'developer does not see the request access button' do group.add_developer(user) login_and_visit_project_page(user) expect(page).not_to have_content 'Request Access' end - scenario 'reporter does not see the request access button' do + it 'reporter does not see the request access button' do group.add_reporter(user) login_and_visit_project_page(user) expect(page).not_to have_content 'Request Access' end - scenario 'guest does not see the request access button' do + it 'guest does not see the request access button' do group.add_guest(user) login_and_visit_project_page(user) diff --git a/spec/features/projects/members/group_members_spec.rb b/spec/features/projects/members/group_members_spec.rb index e22b6fa6c43..41b2beb40b9 100644 --- a/spec/features/projects/members/group_members_spec.rb +++ b/spec/features/projects/members/group_members_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects members' do +describe 'Projects members' do let(:user) { create(:user) } let(:developer) { create(:user) } let(:group) { create(:group, :public, :access_requestable) } @@ -10,7 +10,7 @@ feature 'Projects members' do let(:project_requester) { create(:user) } let(:group_requester) { create(:user) } - background do + before do project.add_developer(developer) group.add_owner(user) sign_in(user) @@ -22,7 +22,7 @@ feature 'Projects members' do visit project_settings_members_path(project) end - scenario 'does not appear in the project members page' do + it 'does not appear in the project members page' do page.within first('.content-list') do expect(page).not_to have_content('test2@abc.com') end @@ -36,7 +36,7 @@ feature 'Projects members' do visit project_settings_members_path(project) end - scenario 'shows the project invitee, the project developer, and the group owner' do + it 'shows the project invitee, the project developer, and the group owner' do page.within first('.content-list') do expect(page).to have_content('test1@abc.com') expect(page).not_to have_content('test2@abc.com') @@ -57,7 +57,7 @@ feature 'Projects members' do visit project_settings_members_path(project) end - scenario 'does not appear in the project members page' do + it 'does not appear in the project members page' do page.within first('.content-list') do expect(page).not_to have_content(group_requester.name) end @@ -71,7 +71,7 @@ feature 'Projects members' do visit project_settings_members_path(project) end - scenario 'shows the project requester, the project developer, and the group owner' do + it 'shows the project requester, the project developer, and the group owner' do page.within first('.content-list') do expect(page).to have_content(project_requester.name) expect(page).not_to have_content(group_requester.name) 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 6d729f2f85f..ea3894c92bd 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 @@ -1,12 +1,12 @@ require 'spec_helper' -feature 'Projects > Members > Group requester cannot request access to project', :js do +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, :access_requestable) } let(:project) { create(:project, :public, :access_requestable, namespace: group) } - background do + before do group.add_owner(owner) sign_in(user) visit group_path(group) @@ -14,7 +14,7 @@ feature 'Projects > Members > Group requester cannot request access to project', visit project_path(project) end - scenario 'group requester does not see the request access / withdraw access request button' do + it 'group requester does not see the request access / withdraw access request button' do expect(page).not_to have_content 'Request Access' expect(page).not_to have_content 'Withdraw Access Request' end 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 e6d0c6e00f8..b65c46b345f 100644 --- a/spec/features/projects/members/groups_with_access_list_spec.rb +++ b/spec/features/projects/members/groups_with_access_list_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' -feature 'Projects > Members > Groups with access list', :js do +describe 'Projects > Members > Groups with access list', :js do let(:user) { create(:user) } let(:group) { create(:group, :public) } let(:project) { create(:project, :public) } - background do + before do project.add_master(user) @group_link = create(:project_group_link, project: project, group: group) @@ -13,7 +13,7 @@ feature 'Projects > Members > Groups with access list', :js do visit project_settings_members_path(project) end - scenario 'updates group access level' do + it 'updates group access level' do click_button @group_link.human_access page.within '.dropdown-menu' do @@ -27,7 +27,7 @@ feature 'Projects > Members > Groups with access list', :js do expect(first('.group_member')).to have_content('Guest') end - scenario 'updates expiry date' do + it 'updates expiry date' do tomorrow = Date.today + 3 fill_in "member_expires_at_#{group.id}", with: tomorrow.strftime("%F") @@ -39,7 +39,7 @@ feature 'Projects > Members > Groups with access list', :js do end end - scenario 'deletes group link' do + it 'deletes group link' do page.within(first('.group_member')) do accept_confirm { find('.btn-remove').click } end @@ -49,7 +49,7 @@ feature 'Projects > Members > Groups with access list', :js do end context 'search in existing members (yes, this filters the groups list as well)' do - scenario 'finds no results' do + it 'finds no results' do page.within '.member-search-form' do fill_in 'search', with: 'testing 123' find('.member-search-btn').click @@ -58,7 +58,7 @@ feature 'Projects > Members > Groups with access list', :js do expect(page).not_to have_selector('.group_member') end - scenario 'finds results' do + it 'finds results' do page.within '.member-search-form' do fill_in 'search', with: group.name find('.member-search-btn').click diff --git a/spec/features/projects/members/list_spec.rb b/spec/features/projects/members/list_spec.rb index 65b11a1d9e7..c2e980e75b8 100644 --- a/spec/features/projects/members/list_spec.rb +++ b/spec/features/projects/members/list_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project members list' do +describe 'Project members list' do include Select2Helper let(:user1) { create(:user, name: 'John Doe') } @@ -8,12 +8,12 @@ feature 'Project members list' do let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } - background do + before do sign_in(user1) group.add_owner(user1) end - scenario 'show members from project and group' do + it 'show members from project and group' do project.add_developer(user2) visit_members_page @@ -22,7 +22,7 @@ feature 'Project members list' do expect(second_row.text).to include(user2.name) end - scenario 'show user once if member of both group and project' do + it 'show user once if member of both group and project' do project.add_developer(user1) visit_members_page @@ -31,7 +31,7 @@ feature 'Project members list' do expect(second_row).to be_blank end - scenario 'update user acess level', :js do + it 'update user acess level', :js do project.add_developer(user2) visit_members_page @@ -44,7 +44,7 @@ feature 'Project members list' do end end - scenario 'add user to project', :js do + it 'add user to project', :js do visit_members_page add_user(user2.id, 'Reporter') @@ -55,7 +55,7 @@ feature 'Project members list' do end end - scenario 'remove user from project', :js do + it 'remove user from project', :js do other_user = create(:user) project.add_developer(other_user) @@ -71,7 +71,7 @@ feature 'Project members list' do expect(project.users).not_to include(other_user) end - scenario 'invite user to project', :js do + it 'invite user to project', :js do visit_members_page add_user('test@example.com', 'Reporter') 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 8fe340d3bae..90f09bf6264 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 @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Members > Master adds member with expiration date', :js do +describe 'Projects > Members > Master adds member with expiration date', :js do include Select2Helper include ActiveSupport::Testing::TimeHelpers @@ -8,12 +8,12 @@ feature 'Projects > Members > Master adds member with expiration date', :js do let(:project) { create(:project) } let!(:new_member) { create(:user) } - background do + before do project.add_master(master) sign_in(master) end - scenario 'expiration date is displayed in the members list' do + it 'expiration date is displayed in the members list' do travel_to Time.zone.parse('2016-08-06 08:00') do date = 4.days.from_now visit project_project_members_path(project) @@ -30,7 +30,7 @@ feature 'Projects > Members > Master adds member with expiration date', :js do end end - scenario 'change expiration date' do + it 'change expiration date' do travel_to Time.zone.parse('2016-08-06 08:00') do date = 3.days.from_now project.team.add_users([new_member.id], :developer, expires_at: Date.today.to_s(:medium)) 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 3ac6ca4fc86..112b06c047d 100644 --- a/spec/features/projects/members/master_manages_access_requests_spec.rb +++ b/spec/features/projects/members/master_manages_access_requests_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Members > Master manages access requests' do +describe 'Projects > Members > Master manages access requests' do it_behaves_like 'Master manages access requests' do let(:entity) { create(:project, :public, :access_requestable) } 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 47911c32a72..f612ad8d551 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 @@ -1,16 +1,16 @@ require 'spec_helper' -feature 'Projects > Members > Member cannot request access to his project' do +describe 'Projects > Members > Member cannot request access to his project' do let(:member) { create(:user) } let(:project) { create(:project) } - background do + before do project.add_developer(member) sign_in(member) visit project_path(project) end - scenario 'member does not see the request access button' do + it 'member does not see the request access button' do expect(page).not_to have_content 'Request Access' end end diff --git a/spec/features/projects/members/member_leaves_project_spec.rb b/spec/features/projects/members/member_leaves_project_spec.rb index e54c2c76975..94b29de4686 100644 --- a/spec/features/projects/members/member_leaves_project_spec.rb +++ b/spec/features/projects/members/member_leaves_project_spec.rb @@ -1,16 +1,16 @@ require 'spec_helper' -feature 'Projects > Members > Member leaves project' do +describe 'Projects > Members > Member leaves project' do let(:user) { create(:user) } let(:project) { create(:project, :repository) } - background do + before do project.add_developer(user) sign_in(user) visit project_path(project) end - scenario 'user leaves project' do + it 'user leaves project' do click_link 'Leave project' expect(current_path).to eq(dashboard_projects_path) 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 15162d01c44..0aa005adb4d 100644 --- a/spec/features/projects/members/owner_cannot_leave_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_leave_project_spec.rb @@ -1,14 +1,14 @@ require 'spec_helper' -feature 'Projects > Members > Owner cannot leave project' do +describe 'Projects > Members > Owner cannot leave project' do let(:project) { create(:project) } - background do + before do sign_in(project.owner) visit project_path(project) end - scenario 'user does not see a "Leave project" link' do + it 'user does not see a "Leave project" link' do expect(page).not_to have_content 'Leave project' end end 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 c27925c8dc4..eb1b720af05 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 @@ -1,14 +1,14 @@ require 'spec_helper' -feature 'Projects > Members > Owner cannot request access to his project' do +describe 'Projects > Members > Owner cannot request access to his project' do let(:project) { create(:project) } - background do + before do sign_in(project.owner) visit project_path(project) end - scenario 'owner does not see the request access button' do + it 'owner does not see the request access button' do expect(page).not_to have_content 'Request Access' end end diff --git a/spec/features/projects/members/share_with_group_spec.rb b/spec/features/projects/members/share_with_group_spec.rb index 134c8b8bc39..b126f0c6cb1 100644 --- a/spec/features/projects/members/share_with_group_spec.rb +++ b/spec/features/projects/members/share_with_group_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project > Members > Share with Group', :js do +describe 'Project > Members > Share with Group', :js do include Select2Helper include ActionView::Helpers::DateHelper @@ -8,14 +8,14 @@ feature 'Project > Members > Share with Group', :js do describe 'Share with group lock' do shared_examples 'the project can be shared with groups' do - scenario 'the "Share with group" tab exists' do + it 'the "Share with group" tab exists' do visit project_settings_members_path(project) expect(page).to have_selector('#share-with-group-tab') end end shared_examples 'the project cannot be shared with groups' do - scenario 'the "Share with group" tab does not exist' do + it 'the "Share with group" tab does not exist' do visit project_settings_members_path(project) expect(page).to have_selector('#add-member-tab') expect(page).not_to have_selector('#share-with-group-tab') @@ -26,7 +26,7 @@ feature 'Project > Members > Share with Group', :js do let!(:group_to_share_with) { create(:group) } let(:project) { create(:project, namespace: create(:group)) } - background do + before do project.add_master(master) sign_in(master) end @@ -34,7 +34,7 @@ feature 'Project > Members > Share with Group', :js do context 'when the group has "Share with group lock" disabled' do it_behaves_like 'the project can be shared with groups' - scenario 'the project can be shared with another group' do + it 'the project can be shared with another group' do visit project_settings_members_path(project) click_on 'share-with-group-tab' @@ -64,7 +64,7 @@ feature 'Project > Members > Share with Group', :js do let(:subgroup) { create(:group, parent: root_group) } let(:project) { create(:project, namespace: subgroup) } - background do + before do project.add_master(master) sign_in(master) end @@ -126,7 +126,7 @@ feature 'Project > Members > Share with Group', :js do find('.btn-create').click end - scenario 'the group link shows the expiration time with a warning class' do + it 'the group link shows the expiration time with a warning class' do page.within('.project-members-groups') do # Using distance_of_time_in_words_to_now because it is not the same as # subtraction, and this way avoids time zone issues as well @@ -141,7 +141,7 @@ feature 'Project > Members > Share with Group', :js do context 'with multiple groups to choose from' do let(:project) { create(:project) } - background do + before do project.add_master(master) sign_in(master) @@ -173,14 +173,14 @@ feature 'Project > Members > Share with Group', :js do let!(:group_to_share_with) { create(:group) } let!(:project) { create(:project, namespace: nested_group) } - background do + before do project.add_master(master) sign_in(master) group.add_master(master) group_to_share_with.add_master(master) end - scenario 'the groups dropdown does not show ancestors', :nested_groups do + it 'the groups dropdown does not show ancestors', :nested_groups do visit project_settings_members_path(project) click_on 'share-with-group-tab' diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb index afa173c59e5..1e1071348c3 100644 --- a/spec/features/projects/members/sorting_spec.rb +++ b/spec/features/projects/members/sorting_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Projects > Members > Sorting' do +describe 'Projects > Members > Sorting' do let(:master) { create(:user, name: 'John Doe') } let(:developer) { create(:user, name: 'Mary Jane', last_sign_in_at: 5.days.ago) } let(:project) { create(:project, namespace: master.namespace, creator: master) } - background do + before do create(:project_member, :developer, user: developer, project: project, created_at: 3.days.ago) sign_in(master) end - scenario 'sorts alphabetically by default' do + it 'sorts alphabetically by default' do visit_members_list(sort: nil) expect(first_member).to include(master.name) @@ -19,7 +19,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Name, ascending') end - scenario 'sorts by access level ascending' do + it 'sorts by access level ascending' do visit_members_list(sort: :access_level_asc) expect(first_member).to include(developer.name) @@ -27,7 +27,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Access level, ascending') end - scenario 'sorts by access level descending' do + it 'sorts by access level descending' do visit_members_list(sort: :access_level_desc) expect(first_member).to include(master.name) @@ -35,7 +35,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Access level, descending') end - scenario 'sorts by last joined' do + it 'sorts by last joined' do visit_members_list(sort: :last_joined) expect(first_member).to include(master.name) @@ -43,7 +43,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Last joined') end - scenario 'sorts by oldest joined' do + it 'sorts by oldest joined' do visit_members_list(sort: :oldest_joined) expect(first_member).to include(developer.name) @@ -51,7 +51,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Oldest joined') end - scenario 'sorts by name ascending' do + it 'sorts by name ascending' do visit_members_list(sort: :name_asc) expect(first_member).to include(master.name) @@ -59,7 +59,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Name, ascending') end - scenario 'sorts by name descending' do + it 'sorts by name descending' do visit_members_list(sort: :name_desc) expect(first_member).to include(developer.name) @@ -67,7 +67,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Name, descending') end - scenario 'sorts by recent sign in', :clean_gitlab_redis_shared_state do + it 'sorts by recent sign in', :clean_gitlab_redis_shared_state do visit_members_list(sort: :recent_sign_in) expect(first_member).to include(master.name) @@ -75,7 +75,7 @@ feature 'Projects > Members > Sorting' do expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Recent sign in') end - scenario 'sorts by oldest sign in', :clean_gitlab_redis_shared_state do + it 'sorts by oldest sign in', :clean_gitlab_redis_shared_state do visit_members_list(sort: :oldest_sign_in) expect(first_member).to include(developer.name) diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 672d5daa3d8..35d6ac1c650 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -1,23 +1,23 @@ require 'spec_helper' -feature 'Projects > Members > User requests access', :js do +describe 'Projects > Members > User requests access', :js do let(:user) { create(:user) } let(:project) { create(:project, :public, :access_requestable, :repository) } let(:master) { project.owner } - background do + before do sign_in(user) visit project_path(project) end - scenario 'request access feature is disabled' do + it 'request access feature is disabled' do project.update_attributes(request_access_enabled: false) visit project_path(project) expect(page).not_to have_content 'Request Access' end - scenario 'user can request access to a project' do + it 'user can request access to a project' do perform_enqueued_jobs { click_link 'Request Access' } expect(ActionMailer::Base.deliveries.last.to).to eq [master.notification_email] @@ -31,7 +31,7 @@ feature 'Projects > Members > User requests access', :js do end context 'code access is restricted' do - scenario 'user can request access' do + it 'user can request access' do project.project_feature.update!(repository_access_level: ProjectFeature::PRIVATE, builds_access_level: ProjectFeature::PRIVATE, merge_requests_access_level: ProjectFeature::PRIVATE) @@ -41,7 +41,7 @@ feature 'Projects > Members > User requests access', :js do end end - scenario 'user is not listed in the project members page' do + it 'user is not listed in the project members page' do click_link 'Request Access' expect(project.requesters.exists?(user_id: user)).to be_truthy @@ -55,7 +55,7 @@ feature 'Projects > Members > User requests access', :js do end end - scenario 'user can withdraw its request for access' do + it 'user can withdraw its request for access' do click_link 'Request Access' expect(project.requesters.exists?(user_id: user)).to be_truthy diff --git a/spec/features/projects/merge_request_button_spec.rb b/spec/features/projects/merge_request_button_spec.rb index b571d5a0e26..69561b4d733 100644 --- a/spec/features/projects/merge_request_button_spec.rb +++ b/spec/features/projects/merge_request_button_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Merge Request button' do +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 20a52d6011f..ff31092b910 100644 --- a/spec/features/projects/milestones/milestone_spec.rb +++ b/spec/features/projects/milestones/milestone_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project milestone' do +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 b64786d4eec..dc711377e6e 100644 --- a/spec/features/projects/milestones/milestones_sorting_spec.rb +++ b/spec/features/projects/milestones/milestones_sorting_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Milestones sorting', :js do +describe 'Milestones sorting', :js do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } @@ -17,7 +17,7 @@ feature 'Milestones sorting', :js do sign_in(user) end - scenario 'visit project milestones and sort by due_date_asc' do + it 'visit project milestones and sort by due_date_asc' do visit project_milestones_path(project) expect(page).to have_button('Due soon') diff --git a/spec/features/projects/milestones/new_spec.rb b/spec/features/projects/milestones/new_spec.rb index 6595bff549b..0b5ab547dce 100644 --- a/spec/features/projects/milestones/new_spec.rb +++ b/spec/features/projects/milestones/new_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Creating a new project milestone', :js do +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/new_project_spec.rb b/spec/features/projects/new_project_spec.rb index 3876e0cc3b1..f23ec11a458 100644 --- a/spec/features/projects/new_project_spec.rb +++ b/spec/features/projects/new_project_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'New project' do +describe 'New project' do include Select2Helper let(:user) { create(:admin) } diff --git a/spec/features/projects/pages_spec.rb b/spec/features/projects/pages_spec.rb index a2899ec0f48..6bf65e16291 100644 --- a/spec/features/projects/pages_spec.rb +++ b/spec/features/projects/pages_spec.rb @@ -1,11 +1,11 @@ require 'spec_helper' -feature 'Pages' do - given(:project) { create(:project) } - given(:user) { create(:user) } - given(:role) { :master } +describe 'Pages' do + let(:project) { create(:project) } + let(:user) { create(:user) } + let(:role) { :master } - background do + before do allow(Gitlab.config.pages).to receive(:enabled).and_return(true) project.add_role(user, role) @@ -14,7 +14,7 @@ feature 'Pages' do end shared_examples 'no pages deployed' do - scenario 'does not see anything to destroy' do + it 'does not see anything to destroy' do visit project_pages_path(project) expect(page).to have_content('Configure pages') @@ -24,16 +24,16 @@ feature 'Pages' do end context 'when user is the owner' do - background do + before do project.namespace.update(owner: user) end context 'when pages deployed' do - background do + before do allow_any_instance_of(Project).to receive(:pages_deployed?) { true } end - scenario 'renders Access pages' do + it 'renders Access pages' do visit project_pages_path(project) expect(page).to have_content('Access pages') @@ -48,7 +48,7 @@ feature 'Pages' do end context 'when pages are exposed on external HTTP address', :http_pages_enabled do - given(:project) { create(:project, pages_https_only: false) } + let(:project) { create(:project, pages_https_only: false) } shared_examples 'adds new domain' do it 'adds new domain' do @@ -210,11 +210,11 @@ feature 'Pages' do context 'when the user is not the owner' do context 'when pages deployed' do - background do + before do allow_any_instance_of(Project).to receive(:pages_deployed?) { true } end - scenario 'sees "Only the project owner can remove pages" text' do + it 'sees "Only the project owner can remove pages" text' do visit project_pages_path(project) expect(page).to have_text('Only the project owner can remove pages') @@ -225,13 +225,13 @@ feature 'Pages' do end describe 'HTTPS settings', :js, :https_pages_enabled do - background do + before do project.namespace.update(owner: user) allow_any_instance_of(Project).to receive(:pages_deployed?) { true } end - scenario 'tries to change the setting' do + it 'tries to change the setting' do visit project_pages_path(project) expect(page).to have_content("Force domains with SSL certificates to use HTTPS") @@ -251,7 +251,7 @@ feature 'Pages' do allow(service).to receive(:execute).and_return(status: :error) end - scenario 'tries to change the setting' do + it 'tries to change the setting' do visit project_pages_path(project) uncheck :project_pages_https_only @@ -263,13 +263,13 @@ feature 'Pages' do end context 'non-HTTPS domain exists' do - given(:project) { create(:project, pages_https_only: false) } + let(:project) { create(:project, pages_https_only: false) } before do create(:pages_domain, :without_key, :without_certificate, project: project) end - scenario 'the setting is disabled' do + it 'the setting is disabled' do visit project_pages_path(project) expect(page).to have_field(:project_pages_https_only, disabled: true) @@ -278,7 +278,7 @@ feature 'Pages' do end context 'HTTPS pages are disabled', :https_pages_disabled do - scenario 'the setting is unavailable' do + it 'the setting is unavailable' do visit project_pages_path(project) expect(page).not_to have_field(:project_pages_https_only) diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index 065d00d51d4..220b3529c59 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Pipeline Schedules', :js do +describe 'Pipeline Schedules', :js do include PipelineSchedulesHelper let!(:project) { create(:project, :repository) } @@ -155,7 +155,7 @@ feature 'Pipeline Schedules', :js do end context 'when user creates a new pipeline schedule with variables' do - background do + before do visit_pipelines_schedules click_link 'New schedule' fill_in_schedule_form @@ -166,7 +166,7 @@ feature 'Pipeline Schedules', :js do save_pipeline_schedule end - scenario 'user sees the new variable in edit window' do + it 'user sees the new variable in edit window' do find(".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']").click page.within('.ci-variable-list') do expect(find(".ci-variable-row:nth-child(1) .js-ci-variable-input-key").value).to eq('AAA') @@ -178,7 +178,7 @@ feature 'Pipeline Schedules', :js do end context 'when user edits a variable of a pipeline schedule' do - background do + before do create(:ci_pipeline_schedule, project: project, owner: user).tap do |pipeline_schedule| create(:ci_pipeline_schedule_variable, key: 'AAA', value: 'AAA123', pipeline_schedule: pipeline_schedule) end @@ -192,7 +192,7 @@ feature 'Pipeline Schedules', :js do click_button 'Save pipeline schedule' end - scenario 'user sees the updated variable in edit window' do + it 'user sees the updated variable in edit window' do find(".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']").click page.within('.ci-variable-list') do expect(find(".ci-variable-row:nth-child(1) .js-ci-variable-input-key").value).to eq('foo') @@ -202,7 +202,7 @@ feature 'Pipeline Schedules', :js do end context 'when user removes a variable of a pipeline schedule' do - background do + before do create(:ci_pipeline_schedule, project: project, owner: user).tap do |pipeline_schedule| create(:ci_pipeline_schedule_variable, key: 'AAA', value: 'AAA123', pipeline_schedule: pipeline_schedule) end @@ -213,7 +213,7 @@ feature 'Pipeline Schedules', :js do click_button 'Save pipeline schedule' end - scenario 'user does not see the removed variable in edit window' do + it 'user does not see the removed variable in edit window' do find(".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']").click page.within('.ci-variable-list') do expect(find(".ci-variable-row:nth-child(1) .js-ci-variable-input-key").value).to eq('') @@ -223,13 +223,13 @@ feature 'Pipeline Schedules', :js do end context 'when active is true and next_run_at is NULL' do - background do + before do create(:ci_pipeline_schedule, project: project, owner: user).tap do |pipeline_schedule| pipeline_schedule.update_attribute(:cron, nil) # Consequently next_run_at will be nil end end - scenario 'user edit and recover the problematic pipeline schedule' do + it 'user edit and recover the problematic pipeline schedule' do visit_pipelines_schedules find(".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']").click fill_in 'schedule_cron', with: '* 1 2 3 4' diff --git a/spec/features/projects/remote_mirror_spec.rb b/spec/features/projects/remote_mirror_spec.rb index 81a6b613cc8..53a3f6f474b 100644 --- a/spec/features/projects/remote_mirror_spec.rb +++ b/spec/features/projects/remote_mirror_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project remote mirror', :feature do +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/services/user_activates_mattermost_slash_command_spec.rb b/spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb index fce41ce347f..d4a6417290d 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 @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Setup Mattermost slash commands', :js do +describe 'Setup Mattermost slash commands', :js do let(:user) { create(:user) } let(:project) { create(:project) } let(:service) { project.create_mattermost_slash_commands_service } 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 4a88654210c..f540b76c784 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 @@ -1,11 +1,11 @@ require 'spec_helper' -feature 'Slack slash commands' do - given(:user) { create(:user) } - given(:project) { create(:project) } - given(:service) { project.create_slack_slash_commands_service } +describe 'Slack slash commands' do + let(:user) { create(:user) } + let(:project) { create(:project) } + let(:service) { project.create_slack_slash_commands_service } - background do + before do project.add_master(user) sign_in(user) visit edit_project_service_path(project, service) diff --git a/spec/features/projects/settings/project_badges_spec.rb b/spec/features/projects/settings/project_badges_spec.rb index 4893bef8884..e53da997c1d 100644 --- a/spec/features/projects/settings/project_badges_spec.rb +++ b/spec/features/projects/settings/project_badges_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project Badges' do +describe 'Project Badges' do include WaitForRequests let(:user) { create(:user) } diff --git a/spec/features/projects/settings/repository_settings_spec.rb b/spec/features/projects/settings/repository_settings_spec.rb index 08b40653764..f085e1aa50a 100644 --- a/spec/features/projects/settings/repository_settings_spec.rb +++ b/spec/features/projects/settings/repository_settings_spec.rb @@ -101,7 +101,7 @@ describe 'Projects > Settings > Repository settings' do visit project_settings_repository_path(project) end - scenario 'view deploy tokens' do + it 'view deploy tokens' do within('.deploy-tokens') do expect(page).to have_content(deploy_token.name) expect(page).to have_content('read_repository') @@ -109,7 +109,7 @@ describe 'Projects > Settings > Repository settings' do end end - scenario 'add a new deploy token' do + it 'add a new deploy token' do fill_in 'deploy_token_name', with: 'new_deploy_key' fill_in 'deploy_token_expires_at', with: (Date.today + 1.month).to_s check 'deploy_token_read_repository' 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 8803b5222be..227bdf524fe 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 @@ -1,23 +1,23 @@ require 'rails_helper' -feature 'Projects > Show > Developer views empty project instructions' do +describe 'Projects > Show > Developer views empty project instructions' do let(:project) { create(:project, :empty_repo) } let(:developer) { create(:user) } - background do + before do project.add_developer(developer) sign_in(developer) end context 'without an SSH key' do - scenario 'defaults to HTTP' do + it 'defaults to HTTP' do visit_project expect_instructions_for('http') end - scenario 'switches to SSH', :js do + it 'switches to SSH', :js do visit_project select_protocol('SSH') @@ -27,17 +27,17 @@ feature 'Projects > Show > Developer views empty project instructions' do end context 'with an SSH key' do - background do + before do create(:personal_key, user: developer) end - scenario 'defaults to SSH' do + it 'defaults to SSH' do visit_project expect_instructions_for('ssh') end - scenario 'switches to HTTP', :js do + it 'switches to HTTP', :js do visit_project select_protocol('HTTP') diff --git a/spec/features/projects/show/download_buttons_spec.rb b/spec/features/projects/show/download_buttons_spec.rb index 254affd4a94..3a2dcc5aa55 100644 --- a/spec/features/projects/show/download_buttons_spec.rb +++ b/spec/features/projects/show/download_buttons_spec.rb @@ -1,12 +1,12 @@ require 'spec_helper' -feature 'Projects > Show > Download buttons' do - given(:user) { create(:user) } - given(:role) { :developer } - given(:status) { 'success' } - given(:project) { create(:project, :repository) } +describe 'Projects > Show > Download buttons' do + let(:user) { create(:user) } + let(:role) { :developer } + let(:status) { 'success' } + let(:project) { create(:project, :repository) } - given(:pipeline) do + let(:pipeline) do create(:ci_pipeline, project: project, sha: project.commit.sha, @@ -14,14 +14,14 @@ feature 'Projects > Show > Download buttons' do status: status) end - given!(:build) do + let!(:build) do create(:ci_build, :success, :artifacts, pipeline: pipeline, status: pipeline.status, name: 'build') end - background do + before do sign_in(user) project.add_role(user, role) end @@ -32,13 +32,13 @@ feature 'Projects > Show > Download buttons' do visit project_path(project) end - scenario 'shows download artifacts button' do + it 'shows download artifacts button' do href = latest_succeeded_project_artifacts_path(project, "#{project.default_branch}/download", job: 'build') expect(page).to have_link "Download '#{build.name}'", href: href end - scenario 'download links have download attribute' do + it 'download links have download attribute' do expect(page).to have_selector('a', text: 'Download') page.all('a', text: 'Download').each do |link| expect(link[:download]).to eq '' diff --git a/spec/features/projects/show/no_password_spec.rb b/spec/features/projects/show/no_password_spec.rb index b3b3212556c..8259d482fd9 100644 --- a/spec/features/projects/show/no_password_spec.rb +++ b/spec/features/projects/show/no_password_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'No Password Alert' do +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/rss_spec.rb b/spec/features/projects/show/rss_spec.rb index 52164d30c40..4d9135b9677 100644 --- a/spec/features/projects/show/rss_spec.rb +++ b/spec/features/projects/show/rss_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Show > RSS' do +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/tags/download_buttons_spec.rb b/spec/features/projects/tags/download_buttons_spec.rb index b62498194c4..fbfd8cee7aa 100644 --- a/spec/features/projects/tags/download_buttons_spec.rb +++ b/spec/features/projects/tags/download_buttons_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -feature 'Download buttons in tags page' do - given(:user) { create(:user) } - given(:role) { :developer } - given(:status) { 'success' } - given(:tag) { 'v1.0.0' } - given(:project) { create(:project, :repository) } +describe 'Download buttons in tags page' do + let(:user) { create(:user) } + let(:role) { :developer } + let(:status) { 'success' } + let(:tag) { 'v1.0.0' } + let(:project) { create(:project, :repository) } - given(:pipeline) do + let(:pipeline) do create(:ci_pipeline, project: project, sha: project.commit(tag).sha, @@ -15,14 +15,14 @@ feature 'Download buttons in tags page' do status: status) end - given!(:build) do + let!(:build) do create(:ci_build, :success, :artifacts, pipeline: pipeline, status: pipeline.status, name: 'build') end - background do + before do sign_in(user) project.add_role(user, role) end @@ -33,7 +33,7 @@ feature 'Download buttons in tags page' do visit project_tags_path(project) end - scenario 'shows download artifacts button' do + it 'shows download artifacts button' do href = latest_succeeded_project_artifacts_path(project, "#{tag}/download", job: 'build') expect(page).to have_link "Download '#{build.name}'", href: href diff --git a/spec/features/projects/tree/create_directory_spec.rb b/spec/features/projects/tree/create_directory_spec.rb index 3017048e506..d0902bce7f3 100644 --- a/spec/features/projects/tree/create_directory_spec.rb +++ b/spec/features/projects/tree/create_directory_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Multi-file editor new directory', :js do +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 56471c8e7aa..03a29fae0bd 100644 --- a/spec/features/projects/tree/create_file_spec.rb +++ b/spec/features/projects/tree/create_file_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Multi-file editor new file', :js do +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 f52b3cc1d86..022167d9c5f 100644 --- a/spec/features/projects/tree/rss_spec.rb +++ b/spec/features/projects/tree/rss_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project Tree RSS' do +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 c4b3fb9d171..dc59666ffce 100644 --- a/spec/features/projects/tree/tree_show_spec.rb +++ b/spec/features/projects/tree/tree_show_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects tree' do +describe 'Projects tree' do let(:user) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/projects/tree/upload_file_spec.rb b/spec/features/projects/tree/upload_file_spec.rb index 4dfc325b37e..804a4450ae2 100644 --- a/spec/features/projects/tree/upload_file_spec.rb +++ b/spec/features/projects/tree/upload_file_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Multi-file editor upload file', :js do +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_creates_project_spec.rb b/spec/features/projects/user_creates_project_spec.rb index f95469ad070..83d18996f4e 100644 --- a/spec/features/projects/user_creates_project_spec.rb +++ b/spec/features/projects/user_creates_project_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User creates a project', :js do +describe 'User creates a project', :js do let(:user) { create(:user) } before do diff --git a/spec/features/projects/wiki/markdown_preview_spec.rb b/spec/features/projects/wiki/markdown_preview_spec.rb index bbdd98a7623..ef15e7e1ff9 100644 --- a/spec/features/projects/wiki/markdown_preview_spec.rb +++ b/spec/features/projects/wiki/markdown_preview_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Projects > Wiki > User previews markdown changes', :js do +describe 'Projects > Wiki > User previews markdown changes', :js do let(:user) { create(:user) } let(:project) { create(:project, :wiki_repo, namespace: user.namespace) } let(:wiki_content) do @@ -12,7 +12,7 @@ feature 'Projects > Wiki > User previews markdown changes', :js do HEREDOC end - background do + before do project.add_master(user) sign_in(user) diff --git a/spec/features/projects/wiki/shortcuts_spec.rb b/spec/features/projects/wiki/shortcuts_spec.rb index 6178361082e..c01be1f14ed 100644 --- a/spec/features/projects/wiki/shortcuts_spec.rb +++ b/spec/features/projects/wiki/shortcuts_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Wiki shortcuts', :js do +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, attrs: { title: 'home', content: 'Home page' }) } @@ -10,7 +10,7 @@ feature 'Wiki shortcuts', :js do visit project_wiki_path(project, wiki_page) end - scenario 'Visit edit wiki page using "e" keyboard shortcut' do + it 'Visit edit wiki page using "e" keyboard shortcut' do find('body').native.send_key('e') expect(find('.wiki-page-title')).to have_content('Edit Page') 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 2c67cec6b67..5007794cd77 100644 --- a/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb +++ b/spec/features/projects/wiki/user_deletes_wiki_page_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User deletes wiki page', :js do +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 823399ac3c3..db97d59e918 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 @@ -9,7 +9,7 @@ describe 'Projects > Wiki > User views Git access wiki page' do sign_in(user) end - scenario 'Visit Wiki Page Current Commit' do + it 'Visit Wiki Page Current Commit' do visit project_wiki_path(project, wiki_page) click_link 'Clone repository' |