From 3db2f327594e134729a0ca2f48a748bb28ab7d6c Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Thu, 5 Jul 2018 06:32:05 +0000 Subject: Enable Capybara/FeatureMethods cop --- spec/features/projects/activity/rss_spec.rb | 2 +- .../projects/activity/user_sees_activity_spec.rb | 2 +- spec/features/projects/artifacts/file_spec.rb | 2 +- spec/features/projects/artifacts/raw_spec.rb | 2 +- spec/features/projects/badges/coverage_spec.rb | 20 +++--- spec/features/projects/badges/list_spec.rb | 10 +-- .../projects/badges/pipeline_badge_spec.rb | 2 +- .../blobs/blob_line_permalink_updater_spec.rb | 2 +- spec/features/projects/blobs/blob_show_spec.rb | 2 +- spec/features/projects/blobs/edit_spec.rb | 2 +- .../features/projects/blobs/shortcuts_blob_spec.rb | 2 +- .../user_creates_new_blob_in_new_project_spec.rb | 2 +- .../projects/branches/download_buttons_spec.rb | 18 ++--- .../projects/clusters/applications_spec.rb | 6 +- spec/features/projects/clusters/gcp_spec.rb | 2 +- .../projects/clusters/interchangeability_spec.rb | 2 +- spec/features/projects/clusters/user_spec.rb | 2 +- spec/features/projects/clusters_spec.rb | 2 +- spec/features/projects/commit/builds_spec.rb | 10 +-- spec/features/projects/commit/diff_notes_spec.rb | 2 +- .../projects/commit/mini_pipeline_graph_spec.rb | 2 +- spec/features/projects/commits/rss_spec.rb | 2 +- spec/features/projects/diffs/diff_show_spec.rb | 2 +- .../environments/environment_metrics_spec.rb | 18 ++--- .../projects/environments/environment_spec.rb | 76 +++++++++++----------- .../projects/environments/environments_spec.rb | 48 +++++++------- .../projects/files/template_selector_menu_spec.rb | 10 +-- .../files/user_reads_pipeline_status_spec.rb | 2 +- .../projects/hook_logs/user_reads_log_spec.rb | 10 +-- .../projects/import_export/export_file_spec.rb | 6 +- .../projects/import_export/import_file_spec.rb | 10 +-- spec/features/projects/issuable_templates_spec.rb | 22 +++---- spec/features/projects/issues/rss_spec.rb | 2 +- spec/features/projects/jobs_spec.rb | 8 +-- .../labels/issues_sorted_by_priority_spec.rb | 6 +- spec/features/projects/labels/subscription_spec.rb | 4 +- .../projects/labels/update_prioritization_spec.rb | 12 ++-- .../labels/user_sees_links_to_issuables.rb | 14 ++-- .../members/anonymous_user_sees_members_spec.rb | 6 +- ...group_member_cannot_leave_group_project_spec.rb | 6 +- ...not_request_access_to_his_group_project_spec.rb | 12 ++-- .../projects/members/group_members_spec.rb | 12 ++-- ...uester_cannot_request_access_to_project_spec.rb | 6 +- .../members/groups_with_access_list_spec.rb | 14 ++-- spec/features/projects/members/list_spec.rb | 16 ++--- ...master_adds_member_with_expiration_date_spec.rb | 8 +-- .../members/master_manages_access_requests_spec.rb | 2 +- ...er_cannot_request_access_to_his_project_spec.rb | 6 +- .../projects/members/member_leaves_project_spec.rb | 6 +- .../members/owner_cannot_leave_project_spec.rb | 6 +- ...er_cannot_request_access_to_his_project_spec.rb | 6 +- .../projects/members/share_with_group_spec.rb | 20 +++--- spec/features/projects/members/sorting_spec.rb | 22 +++---- .../projects/members/user_requests_access_spec.rb | 14 ++-- .../features/projects/merge_request_button_spec.rb | 2 +- .../features/projects/milestones/milestone_spec.rb | 2 +- .../projects/milestones/milestones_sorting_spec.rb | 4 +- spec/features/projects/milestones/new_spec.rb | 2 +- spec/features/projects/new_project_spec.rb | 2 +- spec/features/projects/pages_spec.rb | 36 +++++----- spec/features/projects/pipeline_schedules_spec.rb | 18 ++--- spec/features/projects/remote_mirror_spec.rb | 2 +- ...user_activates_mattermost_slash_command_spec.rb | 2 +- .../user_activates_slack_slash_command_spec.rb | 10 +-- .../projects/settings/project_badges_spec.rb | 2 +- .../projects/settings/repository_settings_spec.rb | 4 +- ...eloper_views_empty_project_instructions_spec.rb | 14 ++-- .../projects/show/download_buttons_spec.rb | 20 +++--- spec/features/projects/show/no_password_spec.rb | 2 +- spec/features/projects/show/rss_spec.rb | 2 +- .../projects/tags/download_buttons_spec.rb | 20 +++--- .../projects/tree/create_directory_spec.rb | 2 +- spec/features/projects/tree/create_file_spec.rb | 2 +- spec/features/projects/tree/rss_spec.rb | 2 +- spec/features/projects/tree/tree_show_spec.rb | 2 +- spec/features/projects/tree/upload_file_spec.rb | 2 +- .../features/projects/user_creates_project_spec.rb | 2 +- .../projects/wiki/markdown_preview_spec.rb | 4 +- spec/features/projects/wiki/shortcuts_spec.rb | 4 +- .../projects/wiki/user_deletes_wiki_page_spec.rb | 2 +- .../wiki/user_git_access_wiki_page_spec.rb | 2 +- 81 files changed, 340 insertions(+), 338 deletions(-) (limited to 'spec/features/projects') 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: '