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 --- .rubocop_todo.yml | 4 - qa/qa/specs/features/api/basics_spec.rb | 4 +- qa/qa/specs/features/api/users_spec.rb | 10 +- qa/qa/specs/features/login/ldap_spec.rb | 4 +- qa/qa/specs/features/login/standard_spec.rb | 4 +- .../specs/features/mattermost/group_create_spec.rb | 4 +- qa/qa/specs/features/mattermost/login_spec.rb | 4 +- qa/qa/specs/features/merge_request/create_spec.rb | 4 +- qa/qa/specs/features/merge_request/rebase_spec.rb | 4 +- qa/qa/specs/features/merge_request/squash_spec.rb | 4 +- qa/qa/specs/features/project/activity_spec.rb | 4 +- .../specs/features/project/add_deploy_key_spec.rb | 4 +- .../features/project/add_secret_variable_spec.rb | 4 +- qa/qa/specs/features/project/auto_devops_spec.rb | 4 +- qa/qa/specs/features/project/create_issue_spec.rb | 4 +- qa/qa/specs/features/project/create_spec.rb | 4 +- .../features/project/deploy_key_clone_spec.rb | 4 +- qa/qa/specs/features/project/pipelines_spec.rb | 6 +- qa/qa/specs/features/project/wikis_spec.rb | 4 +- qa/qa/specs/features/repository/clone_spec.rb | 8 +- .../features/repository/protected_branches_spec.rb | 12 +-- qa/qa/specs/features/repository/push_spec.rb | 4 +- spec/features/abuse_report_spec.rb | 4 +- spec/features/admin/admin_appearance_spec.rb | 18 ++-- .../admin/admin_broadcast_messages_spec.rb | 12 +-- spec/features/admin/admin_browse_spam_logs_spec.rb | 2 +- spec/features/admin/admin_cohorts_spec.rb | 4 +- .../admin_disables_git_access_protocol_spec.rb | 16 ++-- .../admin/admin_disables_two_factor_spec.rb | 6 +- spec/features/admin/admin_groups_spec.rb | 12 +-- spec/features/admin/admin_health_check_spec.rb | 2 +- spec/features/admin/admin_hook_logs_spec.rb | 8 +- spec/features/admin/admin_settings_spec.rb | 44 ++++----- .../admin/admin_uses_repository_checks_spec.rb | 8 +- spec/features/calendar_spec.rb | 2 +- spec/features/container_registry_spec.rb | 8 +- spec/features/cycle_analytics_spec.rb | 2 +- spec/features/dashboard/activity_spec.rb | 16 ++-- .../dashboard/datetime_on_tooltips_spec.rb | 2 +- spec/features/dashboard/groups_list_spec.rb | 2 +- spec/features/dashboard/issues_filter_spec.rb | 2 +- spec/features/dashboard/merge_requests_spec.rb | 2 +- spec/features/dashboard/milestone_filter_spec.rb | 2 +- spec/features/dashboard/milestones_spec.rb | 2 +- .../project_member_activity_index_spec.rb | 2 +- spec/features/dashboard/projects_spec.rb | 4 +- spec/features/dashboard/shortcuts_spec.rb | 6 +- spec/features/dashboard/todos/target_state_spec.rb | 12 +-- .../dashboard/todos/todos_filtering_spec.rb | 2 +- .../features/dashboard/todos/todos_sorting_spec.rb | 2 +- spec/features/dashboard/todos/todos_spec.rb | 2 +- spec/features/expand_collapse_diffs_spec.rb | 2 +- spec/features/explore/new_menu_spec.rb | 32 +++---- spec/features/global_search_spec.rb | 2 +- spec/features/group_variables_spec.rb | 4 +- spec/features/groups/activity_spec.rb | 2 +- spec/features/groups/empty_states_spec.rb | 2 +- spec/features/groups/group_settings_spec.rb | 32 +++---- spec/features/groups/issues_spec.rb | 2 +- spec/features/groups/labels/edit_spec.rb | 12 +-- spec/features/groups/labels/index_spec.rb | 6 +- spec/features/groups/labels/subscription_spec.rb | 4 +- .../groups/labels/user_sees_links_to_issuables.rb | 4 +- .../features/groups/members/filter_members_spec.rb | 10 +- spec/features/groups/members/leave_group_spec.rb | 12 +-- spec/features/groups/members/list_members_spec.rb | 8 +- .../features/groups/members/manage_members_spec.rb | 18 ++-- .../members/master_manages_access_requests_spec.rb | 2 +- .../features/groups/members/request_access_spec.rb | 18 ++-- spec/features/groups/members/sort_members_spec.rb | 22 ++--- spec/features/groups/merge_requests_spec.rb | 2 +- spec/features/groups/milestone_spec.rb | 2 +- spec/features/groups/milestones_sorting_spec.rb | 4 +- spec/features/groups/settings/group_badges_spec.rb | 2 +- spec/features/groups/share_lock_spec.rb | 20 ++-- spec/features/groups/show_spec.rb | 2 +- ..._sees_users_dropdowns_in_issuables_list_spec.rb | 2 +- spec/features/groups_spec.rb | 2 +- spec/features/issuables/shortcuts_issuable_spec.rb | 2 +- spec/features/issues/award_spec.rb | 2 +- .../features/issues/bulk_assignment_labels_spec.rb | 2 +- ..._issue_for_discussions_in_merge_request_spec.rb | 2 +- ..._for_single_discussion_in_merge_request_spec.rb | 2 +- spec/features/issues/gfm_autocomplete_spec.rb | 2 +- spec/features/issues/issue_detail_spec.rb | 2 +- spec/features/issues/issue_sidebar_spec.rb | 2 +- spec/features/issues/markdown_toolbar_spec.rb | 2 +- spec/features/issues/move_spec.rb | 24 +++-- spec/features/issues/note_polling_spec.rb | 2 +- spec/features/issues/todo_spec.rb | 2 +- spec/features/issues/update_issues_spec.rb | 2 +- .../issues/user_uses_slash_commands_spec.rb | 2 +- spec/features/labels_hierarchy_spec.rb | 2 +- .../user_creates_image_diff_notes_spec.rb | 2 +- ...user_resolves_outdated_diff_discussions_spec.rb | 2 +- .../user_squashes_merge_request_spec.rb | 2 +- spec/features/milestone_spec.rb | 28 +++--- spec/features/oauth_login_spec.rb | 2 +- spec/features/participants_autocomplete_spec.rb | 2 +- spec/features/password_reset_spec.rb | 2 +- spec/features/profiles/account_spec.rb | 24 ++--- spec/features/profiles/active_sessions_spec.rb | 6 +- spec/features/profiles/chat_names_spec.rb | 26 ++--- spec/features/profiles/emails_spec.rb | 14 +-- spec/features/profiles/gpg_keys_spec.rb | 12 +-- spec/features/profiles/keys_spec.rb | 14 +-- .../user_changes_notified_of_own_activity_spec.rb | 6 +- .../profiles/user_visits_notifications_tab_spec.rb | 2 +- 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 +- spec/features/projects_spec.rb | 2 +- spec/features/protected_branches_spec.rb | 2 +- spec/features/protected_tags_spec.rb | 2 +- spec/features/raven_js_spec.rb | 2 +- spec/features/runners_spec.rb | 106 ++++++++++----------- spec/features/snippets/explore_spec.rb | 8 +- spec/features/snippets/internal_snippet_spec.rb | 6 +- spec/features/snippets/public_snippets_spec.rb | 6 +- spec/features/snippets/search_snippets_spec.rb | 6 +- spec/features/snippets/show_spec.rb | 2 +- .../features/snippets/user_creates_snippet_spec.rb | 12 +-- .../features/snippets/user_deletes_snippet_spec.rb | 2 +- spec/features/snippets/user_edits_snippet_spec.rb | 2 +- spec/features/snippets/user_snippets_spec.rb | 12 +-- spec/features/tags/master_creates_tag_spec.rb | 14 +-- spec/features/tags/master_deletes_tag_spec.rb | 8 +- spec/features/tags/master_updates_tag_spec.rb | 8 +- spec/features/tags/master_views_tags_spec.rb | 14 +-- spec/features/task_lists_spec.rb | 2 +- spec/features/triggers_spec.rb | 30 +++--- spec/features/u2f_spec.rb | 2 +- .../uploads/user_uploads_avatar_to_group_spec.rb | 4 +- .../uploads/user_uploads_avatar_to_profile_spec.rb | 6 +- .../uploads/user_uploads_file_to_note_spec.rb | 4 +- spec/features/users/active_sessions_spec.rb | 10 +- spec/features/users/login_spec.rb | 4 +- spec/features/users/rss_spec.rb | 2 +- 216 files changed, 849 insertions(+), 847 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ccf301e6c78..3e1713f845e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -10,10 +10,6 @@ Capybara/CurrentPathExpectation: Enabled: false -# Offense count: 956 -Capybara/FeatureMethods: - Enabled: false - # Offense count: 23 FactoryBot/DynamicAttributeDefinedStatically: Exclude: diff --git a/qa/qa/specs/features/api/basics_spec.rb b/qa/qa/specs/features/api/basics_spec.rb index 1d7f9d6a03c..6563b56d1b4 100644 --- a/qa/qa/specs/features/api/basics_spec.rb +++ b/qa/qa/specs/features/api/basics_spec.rb @@ -1,7 +1,7 @@ require 'securerandom' module QA - feature 'API basics', :core do + describe 'API basics', :core do before(:context) do @api_client = Runtime::API::Client.new(:gitlab) end @@ -9,7 +9,7 @@ module QA let(:project_name) { "api-basics-#{SecureRandom.hex(8)}" } let(:sanitized_project_path) { CGI.escape("#{Runtime::User.name}/#{project_name}") } - scenario 'user creates a project with a file and deletes them afterwards' do + it 'user creates a project with a file and deletes them afterwards' do create_project_request = Runtime::API::Request.new(@api_client, '/projects') post create_project_request.url, path: project_name, name: project_name diff --git a/qa/qa/specs/features/api/users_spec.rb b/qa/qa/specs/features/api/users_spec.rb index 0aecf89e1b7..8a63d8095c9 100644 --- a/qa/qa/specs/features/api/users_spec.rb +++ b/qa/qa/specs/features/api/users_spec.rb @@ -1,5 +1,5 @@ module QA - feature 'API users', :core do + describe 'API users', :core do before(:context) do @api_client = Runtime::API::Client.new(:gitlab) end @@ -7,13 +7,13 @@ module QA context 'when authenticated' do let(:request) { Runtime::API::Request.new(@api_client, '/users') } - scenario 'get list of users' do + it 'get list of users' do get request.url expect_status(200) end - scenario 'submit request with a valid user name' do + it 'submit request with a valid user name' do get request.url, { params: { username: Runtime::User.name } } expect_status(200) @@ -22,7 +22,7 @@ module QA ) end - scenario 'submit request with an invalid user name' do + it 'submit request with an invalid user name' do get request.url, { params: { username: SecureRandom.hex(10) } } expect_status(200) @@ -30,7 +30,7 @@ module QA end end - scenario 'submit request with an invalid token' do + it 'submit request with an invalid token' do request = Runtime::API::Request.new(@api_client, '/users', private_token: 'invalid') get request.url diff --git a/qa/qa/specs/features/login/ldap_spec.rb b/qa/qa/specs/features/login/ldap_spec.rb index 737f4d10053..b7a284c584b 100644 --- a/qa/qa/specs/features/login/ldap_spec.rb +++ b/qa/qa/specs/features/login/ldap_spec.rb @@ -1,10 +1,10 @@ module QA - feature 'LDAP user login', :ldap do + describe 'LDAP user login', :ldap do before do Runtime::Env.user_type = 'ldap' end - scenario 'user logs in using LDAP credentials' do + it 'user logs in using LDAP credentials' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/login/standard_spec.rb b/qa/qa/specs/features/login/standard_spec.rb index 141ffa3cfb7..254f47cf217 100644 --- a/qa/qa/specs/features/login/standard_spec.rb +++ b/qa/qa/specs/features/login/standard_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'standard user login', :core do - scenario 'user logs in using credentials' do + describe 'standard user login', :core do + it 'user logs in using credentials' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/mattermost/group_create_spec.rb b/qa/qa/specs/features/mattermost/group_create_spec.rb index 2e27a285223..a59761da341 100644 --- a/qa/qa/specs/features/mattermost/group_create_spec.rb +++ b/qa/qa/specs/features/mattermost/group_create_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'create a new group', :mattermost do - scenario 'creating a group with a mattermost team' do + describe 'create a new group', :mattermost do + it 'creating a group with a mattermost team' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } Page::Menu::Main.act { go_to_groups } diff --git a/qa/qa/specs/features/mattermost/login_spec.rb b/qa/qa/specs/features/mattermost/login_spec.rb index 637bbdd643a..b140191e160 100644 --- a/qa/qa/specs/features/mattermost/login_spec.rb +++ b/qa/qa/specs/features/mattermost/login_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'logging in to Mattermost', :mattermost do - scenario 'can use gitlab oauth' do + describe 'logging in to Mattermost', :mattermost do + it 'can use gitlab oauth' do Runtime::Browser.visit(:gitlab, Page::Main::Login) do Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/merge_request/create_spec.rb b/qa/qa/specs/features/merge_request/create_spec.rb index befbc0b281a..18e8c1f35af 100644 --- a/qa/qa/specs/features/merge_request/create_spec.rb +++ b/qa/qa/specs/features/merge_request/create_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'creates a merge request', :core do - scenario 'user creates a new merge request' do + describe 'creates a merge request', :core do + it 'user creates a new merge request' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/merge_request/rebase_spec.rb b/qa/qa/specs/features/merge_request/rebase_spec.rb index 6a0ed4592c4..163dcbe7963 100644 --- a/qa/qa/specs/features/merge_request/rebase_spec.rb +++ b/qa/qa/specs/features/merge_request/rebase_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'merge request rebase', :core do - scenario 'rebases source branch of merge request' do + describe 'merge request rebase', :core do + it 'rebases source branch of merge request' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/merge_request/squash_spec.rb b/qa/qa/specs/features/merge_request/squash_spec.rb index b68704154cf..f0ad4bfd701 100644 --- a/qa/qa/specs/features/merge_request/squash_spec.rb +++ b/qa/qa/specs/features/merge_request/squash_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'merge request squash commits', :core do - scenario 'when squash commits is marked before merge' do + describe 'merge request squash commits', :core do + it 'when squash commits is marked before merge' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/activity_spec.rb b/qa/qa/specs/features/project/activity_spec.rb index 07ac7321aa2..02074e386b6 100644 --- a/qa/qa/specs/features/project/activity_spec.rb +++ b/qa/qa/specs/features/project/activity_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'activity page', :core do - scenario 'push creates an event in the activity page' do + describe 'activity page', :core do + it 'push creates an event in the activity page' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/add_deploy_key_spec.rb b/qa/qa/specs/features/project/add_deploy_key_spec.rb index de53613dee1..14642af97ad 100644 --- a/qa/qa/specs/features/project/add_deploy_key_spec.rb +++ b/qa/qa/specs/features/project/add_deploy_key_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'deploy keys support', :core do - scenario 'user adds a deploy key' do + describe 'deploy keys support', :core do + it 'user adds a deploy key' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/add_secret_variable_spec.rb b/qa/qa/specs/features/project/add_secret_variable_spec.rb index d1bf7849bd0..32c91dd9d4d 100644 --- a/qa/qa/specs/features/project/add_secret_variable_spec.rb +++ b/qa/qa/specs/features/project/add_secret_variable_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'secret variables support', :core do - scenario 'user adds a secret variable' do + describe 'secret variables support', :core do + it 'user adds a secret variable' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/auto_devops_spec.rb b/qa/qa/specs/features/project/auto_devops_spec.rb index c50a13432f5..bc713b46d81 100644 --- a/qa/qa/specs/features/project/auto_devops_spec.rb +++ b/qa/qa/specs/features/project/auto_devops_spec.rb @@ -1,12 +1,12 @@ require 'pathname' module QA - feature 'Auto Devops', :kubernetes do + describe 'Auto Devops', :kubernetes do after do @cluster&.remove! end - scenario 'user creates a new project and runs auto devops' do + it 'user creates a new project and runs auto devops' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/create_issue_spec.rb b/qa/qa/specs/features/project/create_issue_spec.rb index b73f108c2d9..ac2ed2ca2a1 100644 --- a/qa/qa/specs/features/project/create_issue_spec.rb +++ b/qa/qa/specs/features/project/create_issue_spec.rb @@ -1,8 +1,8 @@ module QA - feature 'creates issue', :core do + describe 'creates issue', :core do let(:issue_title) { 'issue title' } - scenario 'user creates issue' do + it 'user creates issue' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/create_spec.rb b/qa/qa/specs/features/project/create_spec.rb index b1c07249892..14ecd464685 100644 --- a/qa/qa/specs/features/project/create_spec.rb +++ b/qa/qa/specs/features/project/create_spec.rb @@ -1,6 +1,6 @@ module QA - feature 'create a new project', :core do - scenario 'user creates a new project' do + describe 'create a new project', :core do + it 'user creates a new project' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/deploy_key_clone_spec.rb b/qa/qa/specs/features/project/deploy_key_clone_spec.rb index 10e4cbb6906..054f49b408a 100644 --- a/qa/qa/specs/features/project/deploy_key_clone_spec.rb +++ b/qa/qa/specs/features/project/deploy_key_clone_spec.rb @@ -1,7 +1,7 @@ require 'digest/sha1' module QA - feature 'cloning code using a deploy key', :core, :docker do + describe 'cloning code using a deploy key', :core, :docker do def login Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } @@ -39,7 +39,7 @@ module QA ] keys.each do |(key_class, bits)| - scenario "user sets up a deploy key with #{key_class}(#{bits}) to clone code using pipelines" do + it "user sets up a deploy key with #{key_class}(#{bits}) to clone code using pipelines" do key = key_class.new(*bits) login diff --git a/qa/qa/specs/features/project/pipelines_spec.rb b/qa/qa/specs/features/project/pipelines_spec.rb index bdb3d671516..ddedde7a8bc 100644 --- a/qa/qa/specs/features/project/pipelines_spec.rb +++ b/qa/qa/specs/features/project/pipelines_spec.rb @@ -1,12 +1,12 @@ module QA - feature 'CI/CD Pipelines', :core, :docker do + describe 'CI/CD Pipelines', :core, :docker do let(:executor) { "qa-runner-#{Time.now.to_i}" } after do Service::Runner.new(executor).remove! end - scenario 'user registers a new specific runner' do + it 'user registers a new specific runner' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } @@ -25,7 +25,7 @@ module QA end end - scenario 'users creates a new pipeline' do + it 'users creates a new pipeline' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/qa/qa/specs/features/project/wikis_spec.rb b/qa/qa/specs/features/project/wikis_spec.rb index 49290a1a896..59cc455fffc 100644 --- a/qa/qa/specs/features/project/wikis_spec.rb +++ b/qa/qa/specs/features/project/wikis_spec.rb @@ -1,5 +1,5 @@ module QA - feature 'Wiki Functionality', :core do + describe 'Wiki Functionality', :core do def login Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } @@ -14,7 +14,7 @@ module QA login end - scenario 'User creates, edits, clones, and pushes to the wiki' do + it 'User creates, edits, clones, and pushes to the wiki' do wiki = Factory::Resource::Wiki.fabricate! do |resource| resource.title = 'Home' resource.content = '# My First Wiki Content' diff --git a/qa/qa/specs/features/repository/clone_spec.rb b/qa/qa/specs/features/repository/clone_spec.rb index bc9eb57bdb4..a04ce4e44d9 100644 --- a/qa/qa/specs/features/repository/clone_spec.rb +++ b/qa/qa/specs/features/repository/clone_spec.rb @@ -1,7 +1,7 @@ module QA - feature 'clone code from the repository', :core do + describe 'clone code from the repository', :core do context 'with regular account over http' do - given(:location) do + let(:location) do Page::Project::Show.act do choose_repository_clone_http repository_location @@ -31,7 +31,7 @@ module QA end end - scenario 'user performs a deep clone' do + it 'user performs a deep clone' do Git::Repository.perform do |repository| repository.uri = location.uri repository.use_default_credentials @@ -42,7 +42,7 @@ module QA end end - scenario 'user performs a shallow clone' do + it 'user performs a shallow clone' do Git::Repository.perform do |repository| repository.uri = location.uri repository.use_default_credentials diff --git a/qa/qa/specs/features/repository/protected_branches_spec.rb b/qa/qa/specs/features/repository/protected_branches_spec.rb index c5b8c271d7d..29ea2e69ec7 100644 --- a/qa/qa/specs/features/repository/protected_branches_spec.rb +++ b/qa/qa/specs/features/repository/protected_branches_spec.rb @@ -1,8 +1,8 @@ module QA - feature 'branch protection support', :core do - given(:branch_name) { 'protected-branch' } - given(:commit_message) { 'Protected push commit message' } - given(:project) do + describe 'branch protection support', :core do + let(:branch_name) { 'protected-branch' } + let(:commit_message) { 'Protected push commit message' } + let(:project) do Factory::Resource::Project.fabricate! do |resource| resource.name = 'protected-branch-project' end @@ -27,7 +27,7 @@ module QA context 'when developers and maintainers are allowed to push to a protected branch' do let!(:protected_branch) { create_protected_branch(allow_to_push: true) } - scenario 'user with push rights successfully pushes to the protected branch' do + it 'user with push rights successfully pushes to the protected branch' do expect(protected_branch.name).to have_content(branch_name) expect(protected_branch.push_allowance).to have_content('Developers + Maintainers') @@ -38,7 +38,7 @@ module QA end context 'when developers and maintainers are not allowed to push to a protected branch' do - scenario 'user without push rights fails to push to the protected branch' do + it 'user without push rights fails to push to the protected branch' do create_protected_branch(allow_to_push: false) @push = push_new_file(branch_name) diff --git a/qa/qa/specs/features/repository/push_spec.rb b/qa/qa/specs/features/repository/push_spec.rb index 16aaa2e6762..fc40b60d915 100644 --- a/qa/qa/specs/features/repository/push_spec.rb +++ b/qa/qa/specs/features/repository/push_spec.rb @@ -1,7 +1,7 @@ module QA - feature 'push code to repository', :core do + describe 'push code to repository', :core do context 'with regular account over http' do - scenario 'user pushes code to the repository' do + it 'user pushes code to the repository' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } diff --git a/spec/features/abuse_report_spec.rb b/spec/features/abuse_report_spec.rb index 091fdcec3db..eb12eebe8e6 100644 --- a/spec/features/abuse_report_spec.rb +++ b/spec/features/abuse_report_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -feature 'Abuse reports' do +describe 'Abuse reports' do let(:another_user) { create(:user) } before do sign_in(create(:user)) end - scenario 'Report abuse' do + it 'Report abuse' do visit user_path(another_user) click_link 'Report abuse' diff --git a/spec/features/admin/admin_appearance_spec.rb b/spec/features/admin/admin_appearance_spec.rb index a5e0ac592b9..3c2ae5b3c6a 100644 --- a/spec/features/admin/admin_appearance_spec.rb +++ b/spec/features/admin/admin_appearance_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' -feature 'Admin Appearance' do +describe 'Admin Appearance' do let!(:appearance) { create(:appearance) } - scenario 'Create new appearance' do + it 'Create new appearance' do sign_in(create(:admin)) visit admin_appearances_path @@ -21,7 +21,7 @@ feature 'Admin Appearance' do expect(page).to have_content 'Last edit' end - scenario 'Preview sign-in page appearance' do + it 'Preview sign-in page appearance' do sign_in(create(:admin)) visit admin_appearances_path @@ -30,7 +30,7 @@ feature 'Admin Appearance' do expect_custom_sign_in_appearance(appearance) end - scenario 'Preview new project page appearance' do + it 'Preview new project page appearance' do sign_in(create(:admin)) visit admin_appearances_path @@ -39,20 +39,20 @@ feature 'Admin Appearance' do expect_custom_new_project_appearance(appearance) end - scenario 'Custom sign-in page' do + it 'Custom sign-in page' do visit new_user_session_path expect_custom_sign_in_appearance(appearance) end - scenario 'Custom new project page' do + it 'Custom new project page' do sign_in create(:user) visit new_project_path expect_custom_new_project_appearance(appearance) end - scenario 'Appearance logo' do + it 'Appearance logo' do sign_in(create(:admin)) visit admin_appearances_path @@ -64,7 +64,7 @@ feature 'Admin Appearance' do expect(page).not_to have_css(logo_selector) end - scenario 'Header logos' do + it 'Header logos' do sign_in(create(:admin)) visit admin_appearances_path @@ -76,7 +76,7 @@ feature 'Admin Appearance' do expect(page).not_to have_css(header_logo_selector) end - scenario 'Favicon' do + it 'Favicon' do sign_in(create(:admin)) visit admin_appearances_path diff --git a/spec/features/admin/admin_broadcast_messages_spec.rb b/spec/features/admin/admin_broadcast_messages_spec.rb index 430a8d22b0f..f6dc499df29 100644 --- a/spec/features/admin/admin_broadcast_messages_spec.rb +++ b/spec/features/admin/admin_broadcast_messages_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Admin Broadcast Messages' do +describe 'Admin Broadcast Messages' do before do sign_in(create(:admin)) create(:broadcast_message, :expired, message: 'Migration to new server') visit admin_broadcast_messages_path end - scenario 'See broadcast messages list' do + it 'See broadcast messages list' do expect(page).to have_content 'Migration to new server' end - scenario 'Create a customized broadcast message' do + it 'Create a customized broadcast message' do fill_in 'broadcast_message_message', with: 'Application update from **4:00 CST to 5:00 CST**' fill_in 'broadcast_message_color', with: '#f2dede' fill_in 'broadcast_message_font', with: '#b94a48' @@ -24,7 +24,7 @@ feature 'Admin Broadcast Messages' do expect(page).to have_selector %(div[style="background-color: #f2dede; color: #b94a48"]) end - scenario 'Edit an existing broadcast message' do + it 'Edit an existing broadcast message' do click_link 'Edit' fill_in 'broadcast_message_message', with: 'Application update RIGHT NOW' click_button 'Update broadcast message' @@ -33,14 +33,14 @@ feature 'Admin Broadcast Messages' do expect(page).to have_content 'Application update RIGHT NOW' end - scenario 'Remove an existing broadcast message' do + it 'Remove an existing broadcast message' do click_link 'Remove' expect(current_path).to eq admin_broadcast_messages_path expect(page).not_to have_content 'Migration to new server' end - scenario 'Live preview a customized broadcast message', :js do + it 'Live preview a customized broadcast message', :js do fill_in 'broadcast_message_message', with: "Live **Markdown** previews. :tada:" page.within('.broadcast-message-preview') do diff --git a/spec/features/admin/admin_browse_spam_logs_spec.rb b/spec/features/admin/admin_browse_spam_logs_spec.rb index 31d4142a8e9..4645fde7522 100644 --- a/spec/features/admin/admin_browse_spam_logs_spec.rb +++ b/spec/features/admin/admin_browse_spam_logs_spec.rb @@ -7,7 +7,7 @@ describe 'Admin browse spam logs' do sign_in(create(:admin)) end - scenario 'Browse spam logs' do + it 'Browse spam logs' do visit admin_spam_logs_path expect(page).to have_content('Spam Logs') diff --git a/spec/features/admin/admin_cohorts_spec.rb b/spec/features/admin/admin_cohorts_spec.rb index bca52bf674c..9dce9494b97 100644 --- a/spec/features/admin/admin_cohorts_spec.rb +++ b/spec/features/admin/admin_cohorts_spec.rb @@ -1,11 +1,11 @@ require 'rails_helper' -feature 'Admin cohorts page' do +describe 'Admin cohorts page' do before do sign_in(create(:admin)) end - scenario 'See users count per month' do + it 'See users count per month' do 2.times { create(:user) } visit admin_cohorts_path diff --git a/spec/features/admin/admin_disables_git_access_protocol_spec.rb b/spec/features/admin/admin_disables_git_access_protocol_spec.rb index 9946cc77d1d..91c22e7ad82 100644 --- a/spec/features/admin/admin_disables_git_access_protocol_spec.rb +++ b/spec/features/admin/admin_disables_git_access_protocol_spec.rb @@ -1,22 +1,22 @@ require 'rails_helper' -feature 'Admin disables Git access protocol' do +describe 'Admin disables Git access protocol' do include StubENV let(:project) { create(:project, :empty_repo) } let(:admin) { create(:admin) } - background do + before do stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') sign_in(admin) end context 'with HTTP disabled' do - background do + before do disable_http_protocol end - scenario 'shows only SSH url' do + it 'shows only SSH url' do visit_project expect(page).to have_content("git clone #{project.ssh_url_to_repo}") @@ -25,11 +25,11 @@ feature 'Admin disables Git access protocol' do end context 'with SSH disabled' do - background do + before do disable_ssh_protocol end - scenario 'shows only HTTP url' do + it 'shows only HTTP url' do visit_project expect(page).to have_content("git clone #{project.http_url_to_repo}") @@ -38,11 +38,11 @@ feature 'Admin disables Git access protocol' do end context 'with nothing disabled' do - background do + before do create(:personal_key, user: admin) end - scenario 'shows default SSH url and protocol selection dropdown' do + it 'shows default SSH url and protocol selection dropdown' do visit_project expect(page).to have_content("git clone #{project.ssh_url_to_repo}") diff --git a/spec/features/admin/admin_disables_two_factor_spec.rb b/spec/features/admin/admin_disables_two_factor_spec.rb index 2abdd3c9ef2..e41835b4f24 100644 --- a/spec/features/admin/admin_disables_two_factor_spec.rb +++ b/spec/features/admin/admin_disables_two_factor_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' -feature 'Admin disables 2FA for a user' do - scenario 'successfully', :js do +describe 'Admin disables 2FA for a user' do + it 'successfully', :js do sign_in(create(:admin)) user = create(:user, :two_factor) @@ -16,7 +16,7 @@ feature 'Admin disables 2FA for a user' do end end - scenario 'for a user without 2FA enabled' do + it 'for a user without 2FA enabled' do sign_in(create(:admin)) user = create(:user) diff --git a/spec/features/admin/admin_groups_spec.rb b/spec/features/admin/admin_groups_spec.rb index a4226d7a682..5b0a53688c2 100644 --- a/spec/features/admin/admin_groups_spec.rb +++ b/spec/features/admin/admin_groups_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Admin Groups' do +describe 'Admin Groups' do include Select2Helper let(:internal) { Gitlab::VisibilityLevel::INTERNAL } @@ -47,13 +47,13 @@ feature 'Admin Groups' do expect(li_texts).to match group_description end - scenario 'shows the visibility level radio populated with the default value' do + it 'shows the visibility level radio populated with the default value' do visit new_admin_group_path expect_selected_visibility(internal) end - scenario 'when entered in group path, it auto filled the group name', :js do + it 'when entered in group path, it auto filled the group name', :js do visit admin_groups_path click_link "New group" group_path = 'gitlab' @@ -64,7 +64,7 @@ feature 'Admin Groups' do end describe 'show a group' do - scenario 'shows the group' do + it 'shows the group' do group = create(:group, :private) visit admin_group_path(group) @@ -74,7 +74,7 @@ feature 'Admin Groups' do end describe 'group edit' do - scenario 'shows the visibility level radio populated with the group visibility_level value' do + it 'shows the visibility level radio populated with the group visibility_level value' do group = create(:group, :private) visit admin_group_edit_path(group) @@ -82,7 +82,7 @@ feature 'Admin Groups' do expect_selected_visibility(group.visibility_level) end - scenario 'edit group path does not change group name', :js do + it 'edit group path does not change group name', :js do group = create(:group, :private) visit admin_group_edit_path(group) diff --git a/spec/features/admin/admin_health_check_spec.rb b/spec/features/admin/admin_health_check_spec.rb index 3693e5882f9..aaa3e8dc821 100644 --- a/spec/features/admin/admin_health_check_spec.rb +++ b/spec/features/admin/admin_health_check_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature "Admin Health Check", :feature do +describe "Admin Health Check", :feature do include StubENV before do diff --git a/spec/features/admin/admin_hook_logs_spec.rb b/spec/features/admin/admin_hook_logs_spec.rb index 710822ac042..928f97b6d29 100644 --- a/spec/features/admin/admin_hook_logs_spec.rb +++ b/spec/features/admin/admin_hook_logs_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Admin::HookLogs' do +describe 'Admin::HookLogs' do let(:project) { create(:project) } let(:system_hook) { create(:system_hook) } let(:hook_log) { create(:web_hook_log, web_hook: system_hook, internal_error_message: 'some error') } @@ -9,7 +9,7 @@ feature 'Admin::HookLogs' do sign_in(create(:admin)) end - scenario 'show list of hook logs' do + it 'show list of hook logs' do hook_log visit edit_admin_hook_path(system_hook) @@ -17,7 +17,7 @@ feature 'Admin::HookLogs' do expect(page).to have_content(hook_log.url) end - scenario 'show hook log details' do + it 'show hook log details' do hook_log visit edit_admin_hook_path(system_hook) click_link 'View details' @@ -27,7 +27,7 @@ feature 'Admin::HookLogs' do expect(page).to have_content('Resend Request') end - scenario 'retry hook log' do + it 'retry hook log' do WebMock.stub_request(:post, system_hook.url) hook_log diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb index f3ab4ff771a..9c6758abe86 100644 --- a/spec/features/admin/admin_settings_spec.rb +++ b/spec/features/admin/admin_settings_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Admin updates settings' do +describe 'Admin updates settings' do include StubENV include TermsHelper @@ -12,7 +12,7 @@ feature 'Admin updates settings' do visit admin_application_settings_path end - scenario 'Change visibility settings' do + it 'Change visibility settings' do page.within('.as-visibility-access') do choose "application_setting_default_project_visibility_20" click_button 'Save changes' @@ -21,7 +21,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Uncheck all restricted visibility levels' do + it 'Uncheck all restricted visibility levels' do page.within('.as-visibility-access') do find('#application_setting_visibility_level_0').set(false) find('#application_setting_visibility_level_10').set(false) @@ -35,7 +35,7 @@ feature 'Admin updates settings' do expect(find('#application_setting_visibility_level_20')).not_to be_checked end - scenario 'Modify import sources' do + it 'Modify import sources' do expect(Gitlab::CurrentSettings.import_sources).not_to be_empty page.within('.as-visibility-access') do @@ -58,7 +58,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.import_sources).to eq(['git']) end - scenario 'Change Visibility and Access Controls' do + it 'Change Visibility and Access Controls' do page.within('.as-visibility-access') do uncheck 'Project export enabled' click_button 'Save changes' @@ -68,7 +68,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Account and Limit Settings' do + it 'Change Account and Limit Settings' do page.within('.as-account-limit') do uncheck 'Gravatar enabled' click_button 'Save changes' @@ -78,7 +78,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Sign-in restrictions' do + it 'Change Sign-in restrictions' do page.within('.as-signin') do fill_in 'Home page URL', with: 'https://about.gitlab.com/' click_button 'Save changes' @@ -88,7 +88,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Terms of Service' do + it 'Terms of Service' do # Already have the admin accept terms, so they don't need to accept in this spec. _existing_terms = create(:term) accept_terms(admin) @@ -104,7 +104,7 @@ feature 'Admin updates settings' do expect(page).to have_content 'Application settings saved successfully' end - scenario 'Modify oauth providers' do + it 'Modify oauth providers' do expect(Gitlab::CurrentSettings.disabled_oauth_sign_in_sources).to be_empty page.within('.as-signin') do @@ -124,7 +124,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.disabled_oauth_sign_in_sources).not_to include('google_oauth2') end - scenario 'Oauth providers do not raise validation errors when saving unrelated changes' do + it 'Oauth providers do not raise validation errors when saving unrelated changes' do expect(Gitlab::CurrentSettings.disabled_oauth_sign_in_sources).to be_empty page.within('.as-signin') do @@ -147,7 +147,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.disabled_oauth_sign_in_sources).to include('google_oauth2') end - scenario 'Change Help page' do + it 'Change Help page' do page.within('.as-help-page') do fill_in 'Help page text', with: 'Example text' check 'Hide marketing-related entries from help' @@ -161,7 +161,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Pages settings' do + it 'Change Pages settings' do page.within('.as-pages') do fill_in 'Maximum size of pages (MB)', with: 15 check 'Require users to prove ownership of custom domains' @@ -173,7 +173,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change CI/CD settings' do + it 'Change CI/CD settings' do page.within('.as-ci-cd') do check 'Enabled Auto DevOps for projects by default' fill_in 'Auto devops domain', with: 'domain.com' @@ -185,7 +185,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Influx settings' do + it 'Change Influx settings' do page.within('.as-influx') do check 'Enable InfluxDB Metrics' click_button 'Save changes' @@ -195,7 +195,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Prometheus settings' do + it 'Change Prometheus settings' do page.within('.as-prometheus') do check 'Enable Prometheus Metrics' click_button 'Save changes' @@ -205,7 +205,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Performance bar settings' do + it 'Change Performance bar settings' do group = create(:group) page.within('.as-performance-bar') do @@ -228,7 +228,7 @@ feature 'Admin updates settings' do expect(find_field('Allowed group').value).to be_nil end - scenario 'Change Background jobs settings' do + it 'Change Background jobs settings' do page.within('.as-background') do fill_in 'Throttling Factor', with: 1 click_button 'Save changes' @@ -238,7 +238,7 @@ feature 'Admin updates settings' do expect(page).to have_content "Application settings saved successfully" end - scenario 'Change Spam settings' do + it 'Change Spam settings' do page.within('.as-spam') do check 'Enable reCAPTCHA' fill_in 'reCAPTCHA Site Key', with: 'key' @@ -252,7 +252,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.unique_ips_limit_per_user).to eq(15) end - scenario 'Configure web terminal' do + it 'Configure web terminal' do page.within('.as-terminal') do fill_in 'Max session time', with: 15 click_button 'Save changes' @@ -262,7 +262,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.terminal_max_session_time).to eq(15) end - scenario 'Enable outbound requests' do + it 'Enable outbound requests' do page.within('.as-outbound') do check 'Allow requests to the local network from hooks and services' click_button 'Save changes' @@ -272,7 +272,7 @@ feature 'Admin updates settings' do expect(Gitlab::CurrentSettings.allow_local_requests_from_hooks_and_services).to be true end - scenario 'Change Slack Notifications Service template settings' do + it 'Change Slack Notifications Service template settings' do first(:link, 'Service Templates').click click_link 'Slack notifications' fill_in 'Webhook', with: 'http://localhost' @@ -296,7 +296,7 @@ feature 'Admin updates settings' do expect(find('#service_push_channel').value).to eq '#test_channel' end - scenario 'Change Keys settings' do + it 'Change Keys settings' do page.within('.as-visibility-access') do select 'Are forbidden', from: 'RSA SSH keys' select 'Are allowed', from: 'DSA SSH keys' diff --git a/spec/features/admin/admin_uses_repository_checks_spec.rb b/spec/features/admin/admin_uses_repository_checks_spec.rb index 7371a494d36..e658f1b6738 100644 --- a/spec/features/admin/admin_uses_repository_checks_spec.rb +++ b/spec/features/admin/admin_uses_repository_checks_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Admin uses repository checks' do +describe 'Admin uses repository checks' do include StubENV before do @@ -8,7 +8,7 @@ feature 'Admin uses repository checks' do sign_in(create(:admin)) end - scenario 'to trigger a single check' do + it 'to trigger a single check' do project = create(:project) visit_admin_project_page(project) @@ -19,7 +19,7 @@ feature 'Admin uses repository checks' do expect(page).to have_content('Repository check was triggered') end - scenario 'to see a single failed repository check', :js do + it 'to see a single failed repository check', :js do project = create(:project) project.update_columns( last_repository_check_failed: true, @@ -32,7 +32,7 @@ feature 'Admin uses repository checks' do end end - scenario 'to clear all repository checks', :js do + it 'to clear all repository checks', :js do visit admin_application_settings_path expect(RepositoryCheck::ClearWorker).to receive(:perform_async) diff --git a/spec/features/calendar_spec.rb b/spec/features/calendar_spec.rb index 70faf28e09d..f08946b0593 100644 --- a/spec/features/calendar_spec.rb +++ b/spec/features/calendar_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Contributions Calendar', :js do +describe 'Contributions Calendar', :js do let(:user) { create(:user) } let(:contributed_project) { create(:project, :public, :repository) } let(:issue_note) { create(:note, project: contributed_project) } diff --git a/spec/features/container_registry_spec.rb b/spec/features/container_registry_spec.rb index bef2aa9e0e5..9986206f619 100644 --- a/spec/features/container_registry_spec.rb +++ b/spec/features/container_registry_spec.rb @@ -16,7 +16,7 @@ describe "Container Registry", :js do end context 'when there are no image repositories' do - scenario 'user visits container registry main page' do + it 'user visits container registry main page' do visit_container_registry expect(page).to have_content 'No container images' @@ -29,13 +29,13 @@ describe "Container Registry", :js do project.container_repositories << container_repository end - scenario 'user wants to see multi-level container repository' do + it 'user wants to see multi-level container repository' do visit_container_registry expect(page).to have_content('my/image') end - scenario 'user removes entire container repository' do + it 'user removes entire container repository' do visit_container_registry expect_any_instance_of(ContainerRepository) @@ -44,7 +44,7 @@ describe "Container Registry", :js do click_on(class: 'js-remove-repo') end - scenario 'user removes a specific tag from container repository' do + it 'user removes a specific tag from container repository' do visit_container_registry find('.js-toggle-repo').click diff --git a/spec/features/cycle_analytics_spec.rb b/spec/features/cycle_analytics_spec.rb index ef493db3f11..dfcd7ada23b 100644 --- a/spec/features/cycle_analytics_spec.rb +++ b/spec/features/cycle_analytics_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Cycle Analytics', :js do +describe 'Cycle Analytics', :js do let(:user) { create(:user) } let(:guest) { create(:user) } let(:project) { create(:project, :repository) } diff --git a/spec/features/dashboard/activity_spec.rb b/spec/features/dashboard/activity_spec.rb index 941208fa244..9ed912820f7 100644 --- a/spec/features/dashboard/activity_spec.rb +++ b/spec/features/dashboard/activity_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard > Activity' do +describe 'Dashboard > Activity' do let(:user) { create(:user) } before do @@ -66,7 +66,7 @@ feature 'Dashboard > Activity' do wait_for_requests end - scenario 'user should see all events' do + it 'user should see all events' do within '.content_list' do expect(page).to have_content('pushed new branch') expect(page).to have_content('joined') @@ -77,7 +77,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user should see only pushed events' do + it 'user should see only pushed events' do click_link('Push events') wait_for_requests @@ -90,7 +90,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user should see only merged events' do + it 'user should see only merged events' do click_link('Merge events') wait_for_requests @@ -103,7 +103,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user should see only issues events' do + it 'user should see only issues events' do click_link('Issue events') wait_for_requests @@ -117,7 +117,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user should see only comments events' do + it 'user should see only comments events' do click_link('Comments') wait_for_requests @@ -130,7 +130,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user should see only joined events' do + it 'user should see only joined events' do click_link('Team') wait_for_requests @@ -143,7 +143,7 @@ feature 'Dashboard > Activity' do end end - scenario 'user see selected event after page reloading' do + it 'user see selected event after page reloading' do click_link('Push events') wait_for_requests visit activity_dashboard_path diff --git a/spec/features/dashboard/datetime_on_tooltips_spec.rb b/spec/features/dashboard/datetime_on_tooltips_spec.rb index 089c388636d..28bff4d2821 100644 --- a/spec/features/dashboard/datetime_on_tooltips_spec.rb +++ b/spec/features/dashboard/datetime_on_tooltips_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Tooltips on .timeago dates', :js do +describe 'Tooltips on .timeago dates', :js do let(:user) { create(:user) } let(:project) { create(:project, name: 'test', namespace: user.namespace) } let(:created_date) { Date.yesterday.to_time } diff --git a/spec/features/dashboard/groups_list_spec.rb b/spec/features/dashboard/groups_list_spec.rb index 29280bd6e06..eceb12e91cd 100644 --- a/spec/features/dashboard/groups_list_spec.rb +++ b/spec/features/dashboard/groups_list_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard Groups page', :js do +describe 'Dashboard Groups page', :js do let(:user) { create :user } let(:group) { create(:group) } let(:nested_group) { create(:group, :nested) } diff --git a/spec/features/dashboard/issues_filter_spec.rb b/spec/features/dashboard/issues_filter_spec.rb index 8d0b0be1bd4..340262be502 100644 --- a/spec/features/dashboard/issues_filter_spec.rb +++ b/spec/features/dashboard/issues_filter_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard Issues filtering', :js do +describe 'Dashboard Issues filtering', :js do include Spec::Support::Helpers::Features::SortingHelpers let(:user) { create(:user) } diff --git a/spec/features/dashboard/merge_requests_spec.rb b/spec/features/dashboard/merge_requests_spec.rb index 0965b745c03..46d7a82d468 100644 --- a/spec/features/dashboard/merge_requests_spec.rb +++ b/spec/features/dashboard/merge_requests_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard Merge Requests' do +describe 'Dashboard Merge Requests' do include Spec::Support::Helpers::Features::SortingHelpers include FilterItemSelectHelper include ProjectForksHelper diff --git a/spec/features/dashboard/milestone_filter_spec.rb b/spec/features/dashboard/milestone_filter_spec.rb index 8cd57f4f327..00373050aeb 100644 --- a/spec/features/dashboard/milestone_filter_spec.rb +++ b/spec/features/dashboard/milestone_filter_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard > milestone filter', :js do +describe 'Dashboard > milestone filter', :js do include FilterItemSelectHelper let(:user) { create(:user) } diff --git a/spec/features/dashboard/milestones_spec.rb b/spec/features/dashboard/milestones_spec.rb index 7787772a958..c0699a72521 100644 --- a/spec/features/dashboard/milestones_spec.rb +++ b/spec/features/dashboard/milestones_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard > Milestones' do +describe 'Dashboard > Milestones' do describe 'as anonymous user' do before do visit dashboard_milestones_path diff --git a/spec/features/dashboard/project_member_activity_index_spec.rb b/spec/features/dashboard/project_member_activity_index_spec.rb index 6c3093607b0..cfd6329fad0 100644 --- a/spec/features/dashboard/project_member_activity_index_spec.rb +++ b/spec/features/dashboard/project_member_activity_index_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project member activity', :js do +describe 'Project member activity', :js do let(:user) { create(:user) } let(:project) { create(:project, :public, name: 'x', namespace: user.namespace) } diff --git a/spec/features/dashboard/projects_spec.rb b/spec/features/dashboard/projects_spec.rb index ef2f0b5b31a..46935662288 100644 --- a/spec/features/dashboard/projects_spec.rb +++ b/spec/features/dashboard/projects_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard Projects' do +describe 'Dashboard Projects' do let(:user) { create(:user) } let(:project) { create(:project, :repository, name: 'awesome stuff') } let(:project2) { create(:project, :public, name: 'Community project') } @@ -121,7 +121,7 @@ feature 'Dashboard Projects' do visit dashboard_projects_path end - scenario 'shows "Create merge request" button' do + it 'shows "Create merge request" button' do expect(page).to have_content 'You pushed to feature' within('#content-body') do diff --git a/spec/features/dashboard/shortcuts_spec.rb b/spec/features/dashboard/shortcuts_spec.rb index e41bd7a8419..e5c5ab9c039 100644 --- a/spec/features/dashboard/shortcuts_spec.rb +++ b/spec/features/dashboard/shortcuts_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -feature 'Dashboard shortcuts', :js do +describe 'Dashboard shortcuts', :js do context 'logged in' do before do sign_in(create(:user)) visit root_dashboard_path end - scenario 'Navigate to tabs' do + it 'Navigate to tabs' do find('body').send_keys([:shift, 'I']) check_page_title('Issues') @@ -31,7 +31,7 @@ feature 'Dashboard shortcuts', :js do visit explore_root_path end - scenario 'Navigate to tabs' do + it 'Navigate to tabs' do find('body').send_keys([:shift, 'G']) find('.nothing-here-block') diff --git a/spec/features/dashboard/todos/target_state_spec.rb b/spec/features/dashboard/todos/target_state_spec.rb index 030a86d1c01..d55c32b3082 100644 --- a/spec/features/dashboard/todos/target_state_spec.rb +++ b/spec/features/dashboard/todos/target_state_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Dashboard > Todo target states' do +describe 'Dashboard > Todo target states' do let(:user) { create(:user) } let(:author) { create(:user) } let(:project) { create(:project, :public) } @@ -9,7 +9,7 @@ feature 'Dashboard > Todo target states' do sign_in(user) end - scenario 'on a closed issue todo has closed label' do + it 'on a closed issue todo has closed label' do issue_closed = create(:issue, state: 'closed') create_todo issue_closed visit dashboard_todos_path @@ -19,7 +19,7 @@ feature 'Dashboard > Todo target states' do end end - scenario 'on an open issue todo does not have an open label' do + it 'on an open issue todo does not have an open label' do issue_open = create(:issue) create_todo issue_open visit dashboard_todos_path @@ -29,7 +29,7 @@ feature 'Dashboard > Todo target states' do end end - scenario 'on a merged merge request todo has merged label' do + it 'on a merged merge request todo has merged label' do mr_merged = create(:merge_request, :simple, :merged, author: user) create_todo mr_merged visit dashboard_todos_path @@ -39,7 +39,7 @@ feature 'Dashboard > Todo target states' do end end - scenario 'on a closed merge request todo has closed label' do + it 'on a closed merge request todo has closed label' do mr_closed = create(:merge_request, :simple, :closed, author: user) create_todo mr_closed visit dashboard_todos_path @@ -49,7 +49,7 @@ feature 'Dashboard > Todo target states' do end end - scenario 'on an open merge request todo does not have an open label' do + it 'on an open merge request todo does not have an open label' do mr_open = create(:merge_request, :simple, author: user) create_todo mr_open visit dashboard_todos_path diff --git a/spec/features/dashboard/todos/todos_filtering_spec.rb b/spec/features/dashboard/todos/todos_filtering_spec.rb index 7b359b0c651..85f865321cf 100644 --- a/spec/features/dashboard/todos/todos_filtering_spec.rb +++ b/spec/features/dashboard/todos/todos_filtering_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard > User filters todos', :js do +describe 'Dashboard > User filters todos', :js do let(:user_1) { create(:user, username: 'user_1', name: 'user_1') } let(:user_2) { create(:user, username: 'user_2', name: 'user_2') } diff --git a/spec/features/dashboard/todos/todos_sorting_spec.rb b/spec/features/dashboard/todos/todos_sorting_spec.rb index 10e3ad843fd..b87caaa1c07 100644 --- a/spec/features/dashboard/todos/todos_sorting_spec.rb +++ b/spec/features/dashboard/todos/todos_sorting_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard > User sorts todos' do +describe 'Dashboard > User sorts todos' do let(:user) { create(:user) } let(:project) { create(:project) } diff --git a/spec/features/dashboard/todos/todos_spec.rb b/spec/features/dashboard/todos/todos_spec.rb index 5ed20b02a6e..96b22a0f64b 100644 --- a/spec/features/dashboard/todos/todos_spec.rb +++ b/spec/features/dashboard/todos/todos_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Dashboard Todos' do +describe 'Dashboard Todos' do let(:user) { create(:user) } let(:author) { create(:user) } let(:project) { create(:project, :public) } diff --git a/spec/features/expand_collapse_diffs_spec.rb b/spec/features/expand_collapse_diffs_spec.rb index 31862b2e8f4..8d801161148 100644 --- a/spec/features/expand_collapse_diffs_spec.rb +++ b/spec/features/expand_collapse_diffs_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Expand and collapse diffs', :js do +describe 'Expand and collapse diffs', :js do let(:branch) { 'expand-collapse-diffs' } let(:project) { create(:project, :repository) } diff --git a/spec/features/explore/new_menu_spec.rb b/spec/features/explore/new_menu_spec.rb index 2516db5422f..0a88988ea09 100644 --- a/spec/features/explore/new_menu_spec.rb +++ b/spec/features/explore/new_menu_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Top Plus Menu', :js do +describe 'Top Plus Menu', :js do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, :repository, creator: user, namespace: user.namespace) } @@ -15,7 +15,7 @@ feature 'Top Plus Menu', :js do sign_in(user) end - scenario 'click on New project shows new project page' do + it 'click on New project shows new project page' do visit root_dashboard_path click_topmenuitem("New project") @@ -24,7 +24,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Project name') end - scenario 'click on New group shows new group page' do + it 'click on New group shows new group page' do visit root_dashboard_path click_topmenuitem("New group") @@ -33,7 +33,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Group name') end - scenario 'click on New snippet shows new snippet page' do + it 'click on New snippet shows new snippet page' do visit root_dashboard_path click_topmenuitem("New snippet") @@ -42,7 +42,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Title') end - scenario 'click on New issue shows new issue page' do + it 'click on New issue shows new issue page' do visit project_path(project) click_topmenuitem("New issue") @@ -51,7 +51,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Title') end - scenario 'click on New merge request shows new merge request page' do + it 'click on New merge request shows new merge request page' do visit project_path(project) click_topmenuitem("New merge request") @@ -61,7 +61,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Target branch') end - scenario 'click on New project snippet shows new snippet page' do + it 'click on New project snippet shows new snippet page' do visit project_path(project) page.within '.header-content' do @@ -74,7 +74,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Title') end - scenario 'Click on New subgroup shows new group page', :nested_groups do + it 'Click on New subgroup shows new group page', :nested_groups do visit group_path(group) click_topmenuitem("New subgroup") @@ -83,7 +83,7 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Group name') end - scenario 'Click on New project in group shows new project page' do + it 'Click on New project in group shows new project page' do visit group_path(group) page.within '.header-content' do @@ -107,7 +107,7 @@ feature 'Top Plus Menu', :js do sign_in(guest_user) end - scenario 'click on New issue shows new issue page' do + it 'click on New issue shows new issue page' do visit project_path(project) click_topmenuitem("New issue") @@ -116,37 +116,37 @@ feature 'Top Plus Menu', :js do expect(page).to have_content('Title') end - scenario 'has no New merge request menu item' do + it 'has no New merge request menu item' do visit project_path(project) hasnot_topmenuitem("New merge request") end - scenario 'has no New project snippet menu item' do + it 'has no New project snippet menu item' do visit project_path(project) expect(find('.header-new.dropdown')).not_to have_selector('.header-new-project-snippet') end - scenario 'public project has no New merge request menu item' do + it 'public project has no New merge request menu item' do visit project_path(public_project) hasnot_topmenuitem("New merge request") end - scenario 'public project has no New project snippet menu item' do + it 'public project has no New project snippet menu item' do visit project_path(public_project) expect(find('.header-new.dropdown')).not_to have_selector('.header-new-project-snippet') end - scenario 'has no New subgroup menu item' do + it 'has no New subgroup menu item' do visit group_path(group) hasnot_topmenuitem("New subgroup") end - scenario 'has no New project for group menu item' do + it 'has no New project for group menu item' do visit group_path(group) expect(find('.header-new.dropdown')).not_to have_selector('.header-new-group-project') diff --git a/spec/features/global_search_spec.rb b/spec/features/global_search_spec.rb index f8c4db1403c..df64219de99 100644 --- a/spec/features/global_search_spec.rb +++ b/spec/features/global_search_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Global search' do +describe 'Global search' do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } diff --git a/spec/features/group_variables_spec.rb b/spec/features/group_variables_spec.rb index f7863807572..5643240377b 100644 --- a/spec/features/group_variables_spec.rb +++ b/spec/features/group_variables_spec.rb @@ -1,12 +1,12 @@ require 'spec_helper' -feature 'Group variables', :js do +describe 'Group variables', :js do let(:user) { create(:user) } let(:group) { create(:group) } let!(:variable) { create(:ci_group_variable, key: 'test_key', value: 'test value', group: group) } let(:page_path) { group_settings_ci_cd_path(group) } - background do + before do group.add_master(user) gitlab_sign_in(user) diff --git a/spec/features/groups/activity_spec.rb b/spec/features/groups/activity_spec.rb index 0d7d3771071..27520cf0e22 100644 --- a/spec/features/groups/activity_spec.rb +++ b/spec/features/groups/activity_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group activity page' do +describe 'Group activity page' do let(:user) { create(:group_member, :developer, user: create(:user), group: group ).user } let(:group) { create(:group) } let(:path) { activity_group_path(group) } diff --git a/spec/features/groups/empty_states_spec.rb b/spec/features/groups/empty_states_spec.rb index 5828d833ae9..dd901b034f7 100644 --- a/spec/features/groups/empty_states_spec.rb +++ b/spec/features/groups/empty_states_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group empty states' do +describe 'Group empty states' do let(:group) { create(:group) } let(:user) { create(:group_member, :developer, user: create(:user), group: group ).user } diff --git a/spec/features/groups/group_settings_spec.rb b/spec/features/groups/group_settings_spec.rb index bf329b0bb94..59254ecc982 100644 --- a/spec/features/groups/group_settings_spec.rb +++ b/spec/features/groups/group_settings_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' -feature 'Edit group settings' do - given(:user) { create(:user) } - given(:group) { create(:group, path: 'foo') } +describe 'Edit group settings' do + let(:user) { create(:user) } + let(:group) { create(:group, path: 'foo') } - background do + before do group.add_owner(user) sign_in(user) end @@ -14,14 +14,14 @@ feature 'Edit group settings' do let(:old_group_full_path) { "/#{group.path}" } let(:new_group_full_path) { "/#{new_group_path}" } - scenario 'the group is accessible via the new path' do + it 'the group is accessible via the new path' do update_path(new_group_path) visit new_group_full_path expect(current_path).to eq(new_group_full_path) expect(find('h1.group-title')).to have_content(group.name) end - scenario 'the old group path redirects to the new path' do + it 'the old group path redirects to the new path' do update_path(new_group_path) visit old_group_full_path expect(current_path).to eq(new_group_full_path) @@ -29,18 +29,18 @@ feature 'Edit group settings' do end context 'with a subgroup' do - given!(:subgroup) { create(:group, parent: group, path: 'subgroup') } - given(:old_subgroup_full_path) { "/#{group.path}/#{subgroup.path}" } - given(:new_subgroup_full_path) { "/#{new_group_path}/#{subgroup.path}" } + let!(:subgroup) { create(:group, parent: group, path: 'subgroup') } + let(:old_subgroup_full_path) { "/#{group.path}/#{subgroup.path}" } + let(:new_subgroup_full_path) { "/#{new_group_path}/#{subgroup.path}" } - scenario 'the subgroup is accessible via the new path' do + it 'the subgroup is accessible via the new path' do update_path(new_group_path) visit new_subgroup_full_path expect(current_path).to eq(new_subgroup_full_path) expect(find('h1.group-title')).to have_content(subgroup.name) end - scenario 'the old subgroup path redirects to the new path' do + it 'the old subgroup path redirects to the new path' do update_path(new_group_path) visit old_subgroup_full_path expect(current_path).to eq(new_subgroup_full_path) @@ -49,9 +49,9 @@ feature 'Edit group settings' do end context 'with a project' do - given!(:project) { create(:project, group: group) } - given(:old_project_full_path) { "/#{group.path}/#{project.path}" } - given(:new_project_full_path) { "/#{new_group_path}/#{project.path}" } + let!(:project) { create(:project, group: group) } + let(:old_project_full_path) { "/#{group.path}/#{project.path}" } + let(:new_project_full_path) { "/#{new_group_path}/#{project.path}" } before(:context) do TestEnv.clean_test_path @@ -61,14 +61,14 @@ feature 'Edit group settings' do TestEnv.clean_test_path end - scenario 'the project is accessible via the new path' do + it 'the project is accessible via the new path' do update_path(new_group_path) visit new_project_full_path expect(current_path).to eq(new_project_full_path) expect(find('.breadcrumbs')).to have_content(project.path) end - scenario 'the old project path redirects to the new path' do + it 'the old project path redirects to the new path' do update_path(new_group_path) visit old_project_full_path expect(current_path).to eq(new_project_full_path) diff --git a/spec/features/groups/issues_spec.rb b/spec/features/groups/issues_spec.rb index e131ded3688..2bab6aa3d48 100644 --- a/spec/features/groups/issues_spec.rb +++ b/spec/features/groups/issues_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group issues page' do +describe 'Group issues page' do include FilteredSearchHelpers let(:group) { create(:group) } diff --git a/spec/features/groups/labels/edit_spec.rb b/spec/features/groups/labels/edit_spec.rb index fb338127861..7cfc27a8905 100644 --- a/spec/features/groups/labels/edit_spec.rb +++ b/spec/features/groups/labels/edit_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Edit group label' do - given(:user) { create(:user) } - given(:group) { create(:group) } - given(:label) { create(:group_label, group: group) } +describe 'Edit group label' do + let(:user) { create(:user) } + let(:group) { create(:group) } + let(:label) { create(:group_label, group: group) } - background do + before do group.add_owner(user) sign_in(user) visit edit_group_label_path(group, label) end - scenario 'update label with new title' do + it 'update label with new title' do fill_in 'label_title', with: 'new label name' click_button 'Save changes' diff --git a/spec/features/groups/labels/index_spec.rb b/spec/features/groups/labels/index_spec.rb index 6c1b43a9013..0ce7dad4040 100644 --- a/spec/features/groups/labels/index_spec.rb +++ b/spec/features/groups/labels/index_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Group labels' do +describe 'Group labels' do let(:user) { create(:user) } let(:group) { create(:group) } let!(:label) { create(:group_label, group: group) } - background do + before do group.add_owner(user) sign_in(user) visit group_labels_path(group) end - scenario 'label has edit button', :js do + it 'label has edit button', :js do expect(page).to have_selector('.label-action.edit') end end diff --git a/spec/features/groups/labels/subscription_spec.rb b/spec/features/groups/labels/subscription_spec.rb index 2e06caf98f6..d9543bfa97f 100644 --- a/spec/features/groups/labels/subscription_spec.rb +++ b/spec/features/groups/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!(:feature) { create(:group_label, group: group, title: 'feature') } @@ -11,7 +11,7 @@ feature 'Labels subscription' do gitlab_sign_in user end - scenario 'users can subscribe/unsubscribe to group labels', :js do + it 'users can subscribe/unsubscribe to group labels', :js do visit group_labels_path(group) expect(page).to have_content('feature') diff --git a/spec/features/groups/labels/user_sees_links_to_issuables.rb b/spec/features/groups/labels/user_sees_links_to_issuables.rb index 5d6290d2109..1fdba78fa6c 100644 --- a/spec/features/groups/labels/user_sees_links_to_issuables.rb +++ b/spec/features/groups/labels/user_sees_links_to_issuables.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Groups > Labels > User sees links to issuables' do +describe 'Groups > Labels > User sees links to issuables' do set(:group) { create(:group, :public) } before do @@ -8,7 +8,7 @@ feature 'Groups > Labels > User sees links to issuables' do visit group_labels_path(group) end - 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/groups/members/filter_members_spec.rb b/spec/features/groups/members/filter_members_spec.rb index 5ddb5894624..8b4f6dbcc50 100644 --- a/spec/features/groups/members/filter_members_spec.rb +++ b/spec/features/groups/members/filter_members_spec.rb @@ -1,18 +1,18 @@ require 'spec_helper' -feature 'Groups > Members > Filter members' do +describe 'Groups > Members > Filter members' do let(:user) { create(:user) } let(:user_with_2fa) { create(:user, :two_factor_via_otp) } let(:group) { create(:group) } - background do + before do group.add_owner(user) group.add_master(user_with_2fa) sign_in(user) end - scenario 'shows all members' do + it 'shows all members' do visit_members_list expect(first_member).to include(user.name) @@ -20,7 +20,7 @@ feature 'Groups > Members > Filter members' do expect(page).to have_css('.member-filter-2fa-dropdown .dropdown-toggle-text', text: '2FA: Everyone') end - scenario 'shows only 2FA members' do + it 'shows only 2FA members' do visit_members_list(two_factor: 'enabled') expect(first_member).to include(user_with_2fa.name) @@ -28,7 +28,7 @@ feature 'Groups > Members > Filter members' do expect(page).to have_css('.member-filter-2fa-dropdown .dropdown-toggle-text', text: '2FA: Enabled') end - scenario 'shows only non 2FA members' do + it 'shows only non 2FA members' do visit_members_list(two_factor: 'disabled') expect(first_member).to include(user.name) diff --git a/spec/features/groups/members/leave_group_spec.rb b/spec/features/groups/members/leave_group_spec.rb index 067a2dc850f..7a91c64d7db 100644 --- a/spec/features/groups/members/leave_group_spec.rb +++ b/spec/features/groups/members/leave_group_spec.rb @@ -1,15 +1,15 @@ require 'spec_helper' -feature 'Groups > Members > Leave group' do +describe 'Groups > Members > Leave group' do let(:user) { create(:user) } let(:other_user) { create(:user) } let(:group) { create(:group) } - background do + before do gitlab_sign_in(user) end - scenario 'guest leaves the group' do + it 'guest leaves the group' do group.add_guest(user) group.add_owner(other_user) @@ -21,7 +21,7 @@ feature 'Groups > Members > Leave group' do expect(group.users).not_to include(user) end - scenario 'guest leaves the group as last member' do + it 'guest leaves the group as last member' do group.add_guest(user) visit group_path(group) @@ -32,7 +32,7 @@ feature 'Groups > Members > Leave group' do expect(group.users).not_to include(user) end - scenario 'owner leaves the group if they is not the last owner' do + it 'owner leaves the group if they is not the last owner' do group.add_owner(user) group.add_owner(other_user) @@ -44,7 +44,7 @@ feature 'Groups > Members > Leave group' do expect(group.users).not_to include(user) end - scenario 'owner can not leave the group if they is a last owner' do + it 'owner can not leave the group if they is a last owner' do group.add_owner(user) visit group_path(group) diff --git a/spec/features/groups/members/list_members_spec.rb b/spec/features/groups/members/list_members_spec.rb index 5c5d48c3623..33f93fcc470 100644 --- a/spec/features/groups/members/list_members_spec.rb +++ b/spec/features/groups/members/list_members_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Groups > Members > List members' do +describe 'Groups > Members > List members' do include Select2Helper let(:user1) { create(:user, name: 'John Doe') } @@ -8,11 +8,11 @@ feature 'Groups > Members > List members' do let(:group) { create(:group) } let(:nested_group) { create(:group, parent: group) } - background do + before do gitlab_sign_in(user1) end - scenario 'show members from current group and parent', :nested_groups do + it 'show members from current group and parent', :nested_groups do group.add_developer(user1) nested_group.add_developer(user2) @@ -22,7 +22,7 @@ feature 'Groups > Members > List members' do expect(second_row.text).to include(user2.name) end - scenario 'show user once if member of both current group and parent', :nested_groups do + it 'show user once if member of both current group and parent', :nested_groups do group.add_developer(user1) nested_group.add_developer(user1) diff --git a/spec/features/groups/members/manage_members_spec.rb b/spec/features/groups/members/manage_members_spec.rb index 21f7b4999ad..0eda2c7f26d 100644 --- a/spec/features/groups/members/manage_members_spec.rb +++ b/spec/features/groups/members/manage_members_spec.rb @@ -1,17 +1,17 @@ require 'spec_helper' -feature 'Groups > Members > Manage members' do +describe 'Groups > Members > Manage members' do include Select2Helper let(:user1) { create(:user, name: 'John Doe') } let(:user2) { create(:user, name: 'Mary Jane') } let(:group) { create(:group) } - background do + before do sign_in(user1) end - scenario 'update user to owner level', :js do + it 'update user to owner level', :js do group.add_owner(user1) group.add_developer(user2) @@ -25,7 +25,7 @@ feature 'Groups > Members > Manage members' do end end - scenario 'add user to group', :js do + it 'add user to group', :js do group.add_owner(user1) visit group_group_members_path(group) @@ -38,7 +38,7 @@ feature 'Groups > Members > Manage members' do end end - scenario 'do not disclose email addresses', :js do + it 'do not disclose email addresses', :js do group.add_owner(user1) create(:user, email: 'undisclosed_email@gitlab.com', name: "Jane 'invisible' Doe") @@ -59,7 +59,7 @@ feature 'Groups > Members > Manage members' do expect(page).to have_content("Jane 'invisible' Doe") end - scenario 'remove user from group', :js do + it 'remove user from group', :js do group.add_owner(user1) group.add_developer(user2) @@ -75,7 +75,7 @@ feature 'Groups > Members > Manage members' do expect(group.users).not_to include(user2) end - scenario 'add yourself to group when already an owner', :js do + it 'add yourself to group when already an owner', :js do group.add_owner(user1) visit group_group_members_path(group) @@ -88,7 +88,7 @@ feature 'Groups > Members > Manage members' do end end - scenario 'invite user to group', :js do + it 'invite user to group', :js do group.add_owner(user1) visit group_group_members_path(group) @@ -102,7 +102,7 @@ feature 'Groups > Members > Manage members' do end end - scenario 'guest can not manage other users' do + it 'guest can not manage other users' do group.add_guest(user1) group.add_developer(user2) diff --git a/spec/features/groups/members/master_manages_access_requests_spec.rb b/spec/features/groups/members/master_manages_access_requests_spec.rb index 2fd6d1ec599..4fdf1497781 100644 --- a/spec/features/groups/members/master_manages_access_requests_spec.rb +++ b/spec/features/groups/members/master_manages_access_requests_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Groups > Members > Master manages access requests' do +describe 'Groups > Members > Master manages access requests' do it_behaves_like 'Master manages access requests' do let(:entity) { create(:group, :public, :access_requestable) } let(:members_page_path) { group_group_members_path(entity) } diff --git a/spec/features/groups/members/request_access_spec.rb b/spec/features/groups/members/request_access_spec.rb index 10389a74703..1c833c36a61 100644 --- a/spec/features/groups/members/request_access_spec.rb +++ b/spec/features/groups/members/request_access_spec.rb @@ -1,25 +1,25 @@ require 'spec_helper' -feature 'Groups > Members > Request access' do +describe 'Groups > Members > Request access' do let(:user) { create(:user) } let(:owner) { create(:user) } let(:group) { create(:group, :public, :access_requestable) } let!(:project) { create(:project, :private, namespace: group) } - background do + before do group.add_owner(owner) sign_in(user) visit group_path(group) end - scenario 'request access feature is disabled' do + it 'request access feature is disabled' do group.update_attributes(request_access_enabled: false) visit group_path(group) expect(page).not_to have_content 'Request Access' end - scenario 'user can request access to a group' do + it 'user can request access to a group' do perform_enqueued_jobs { click_link 'Request Access' } expect(ActionMailer::Base.deliveries.last.to).to eq [owner.notification_email] @@ -32,13 +32,13 @@ feature 'Groups > Members > Request access' do expect(page).not_to have_content 'Leave group' end - scenario 'user does not see private projects' do + it 'user does not see private projects' do perform_enqueued_jobs { click_link 'Request Access' } expect(page).not_to have_content project.name end - scenario 'user does not see group in the Dashboard > Groups page' do + it 'user does not see group in the Dashboard > Groups page' do perform_enqueued_jobs { click_link 'Request Access' } visit dashboard_groups_path @@ -46,7 +46,7 @@ feature 'Groups > Members > Request access' do expect(page).not_to have_content group.name end - scenario 'user is not listed in the group members page' do + it 'user is not listed in the group members page' do click_link 'Request Access' expect(group.requesters.exists?(user_id: user)).to be_truthy @@ -58,7 +58,7 @@ feature 'Groups > Members > Request access' 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(group.requesters.exists?(user_id: user)).to be_truthy @@ -69,7 +69,7 @@ feature 'Groups > Members > Request access' do expect(page).to have_content 'Your access request to the group has been withdrawn.' end - scenario 'member does not see the request access button' do + it 'member does not see the request access button' do group.add_owner(user) visit group_path(group) diff --git a/spec/features/groups/members/sort_members_spec.rb b/spec/features/groups/members/sort_members_spec.rb index e175ad04f86..ee32f6d77fe 100644 --- a/spec/features/groups/members/sort_members_spec.rb +++ b/spec/features/groups/members/sort_members_spec.rb @@ -1,18 +1,18 @@ require 'spec_helper' -feature 'Groups > Members > Sort members' do +describe 'Groups > Members > Sort members' do let(:owner) { create(:user, name: 'John Doe') } let(:developer) { create(:user, name: 'Mary Jane', last_sign_in_at: 5.days.ago) } let(:group) { create(:group) } - background do + before do create(:group_member, :owner, user: owner, group: group, created_at: 5.days.ago) create(:group_member, :developer, user: developer, group: group, created_at: 3.days.ago) sign_in(owner) end - scenario 'sorts alphabetically by default' do + it 'sorts alphabetically by default' do visit_members_list(sort: nil) expect(first_member).to include(owner.name) @@ -20,7 +20,7 @@ feature 'Groups > Members > Sort members' 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) @@ -28,7 +28,7 @@ feature 'Groups > Members > Sort members' 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(owner.name) @@ -36,7 +36,7 @@ feature 'Groups > Members > Sort members' 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(developer.name) @@ -44,7 +44,7 @@ feature 'Groups > Members > Sort members' 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(owner.name) @@ -52,7 +52,7 @@ feature 'Groups > Members > Sort members' 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(owner.name) @@ -60,7 +60,7 @@ feature 'Groups > Members > Sort members' 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) @@ -68,7 +68,7 @@ feature 'Groups > Members > Sort members' 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(owner.name) @@ -76,7 +76,7 @@ feature 'Groups > Members > Sort members' 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/groups/merge_requests_spec.rb b/spec/features/groups/merge_requests_spec.rb index 921a447f6ee..54a8016c157 100644 --- a/spec/features/groups/merge_requests_spec.rb +++ b/spec/features/groups/merge_requests_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group merge requests page' do +describe 'Group merge requests page' do include FilteredSearchHelpers let(:path) { merge_requests_group_path(group) } diff --git a/spec/features/groups/milestone_spec.rb b/spec/features/groups/milestone_spec.rb index 2108d763028..5ab03cb6ee6 100644 --- a/spec/features/groups/milestone_spec.rb +++ b/spec/features/groups/milestone_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Group milestones' do +describe 'Group milestones' do let(:group) { create(:group) } let!(:project) { create(:project_empty_repo, group: group) } let(:user) { create(:group_member, :master, user: create(:user), group: group ).user } diff --git a/spec/features/groups/milestones_sorting_spec.rb b/spec/features/groups/milestones_sorting_spec.rb index a0fe40cf1d3..5deb55bc8bb 100644 --- a/spec/features/groups/milestones_sorting_spec.rb +++ b/spec/features/groups/milestones_sorting_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Milestones sorting', :js do +describe 'Milestones sorting', :js do let(:group) { create(:group) } let!(:project) { create(:project_empty_repo, group: group) } let!(:other_project) { create(:project_empty_repo, group: group) } @@ -15,7 +15,7 @@ feature 'Milestones sorting', :js do sign_in(user) end - scenario 'visit group milestones and sort by due_date_asc' do + it 'visit group milestones and sort by due_date_asc' do visit group_milestones_path(group) expect(page).to have_button('Due soon') diff --git a/spec/features/groups/settings/group_badges_spec.rb b/spec/features/groups/settings/group_badges_spec.rb index a99da4a119b..070a4a31ffa 100644 --- a/spec/features/groups/settings/group_badges_spec.rb +++ b/spec/features/groups/settings/group_badges_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group Badges' do +describe 'Group Badges' do include WaitForRequests let(:user) { create(:user) } diff --git a/spec/features/groups/share_lock_spec.rb b/spec/features/groups/share_lock_spec.rb index cefbc15e068..5bbe77019ca 100644 --- a/spec/features/groups/share_lock_spec.rb +++ b/spec/features/groups/share_lock_spec.rb @@ -1,19 +1,19 @@ require 'spec_helper' -feature 'Group share with group lock' do - given(:root_owner) { create(:user) } - given(:root_group) { create(:group) } +describe 'Group share with group lock' do + let(:root_owner) { create(:user) } + let(:root_group) { create(:group) } - background do + before do root_group.add_owner(root_owner) sign_in(root_owner) end context 'with a subgroup', :nested_groups do - given!(:subgroup) { create(:group, parent: root_group) } + let!(:subgroup) { create(:group, parent: root_group) } context 'when enabling the parent group share with group lock' do - scenario 'the subgroup share with group lock becomes enabled' do + it 'the subgroup share with group lock becomes enabled' do visit edit_group_path(root_group) enable_group_lock @@ -23,14 +23,14 @@ feature 'Group share with group lock' do end context 'when disabling the parent group share with group lock (which was already enabled)' do - background do + before do visit edit_group_path(root_group) enable_group_lock end context 'and the subgroup share with group lock is enabled' do - scenario 'the subgroup share with group lock does not change' do + it 'the subgroup share with group lock does not change' do visit edit_group_path(root_group) disable_group_lock @@ -40,13 +40,13 @@ feature 'Group share with group lock' do end context 'but the subgroup share with group lock is disabled' do - background do + before do visit edit_group_path(subgroup) disable_group_lock end - scenario 'the subgroup share with group lock does not change' do + it 'the subgroup share with group lock does not change' do visit edit_group_path(root_group) disable_group_lock diff --git a/spec/features/groups/show_spec.rb b/spec/features/groups/show_spec.rb index b7a7aa0e174..ac961e98a61 100644 --- a/spec/features/groups/show_spec.rb +++ b/spec/features/groups/show_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group show page' do +describe 'Group show page' do let(:group) { create(:group) } let(:path) { group_path(group) } diff --git a/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb b/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb index 5ed4f3ad2bc..6d6f206d761 100644 --- a/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb +++ b/spec/features/groups/user_sees_users_dropdowns_in_issuables_list_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Groups > User sees users dropdowns in issuables list' do +describe 'Groups > User sees users dropdowns in issuables list' do let(:entity) { create(:group) } let(:user_in_dropdown) { create(:user) } let!(:user_not_in_dropdown) { create(:user) } diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index 236768b5d7f..053e3b189c3 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group' do +describe 'Group' do before do sign_in(create(:admin)) end diff --git a/spec/features/issuables/shortcuts_issuable_spec.rb b/spec/features/issuables/shortcuts_issuable_spec.rb index 0a19086ffbd..a0ae6720a9f 100644 --- a/spec/features/issuables/shortcuts_issuable_spec.rb +++ b/spec/features/issuables/shortcuts_issuable_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Blob shortcuts', :js do +describe 'Blob shortcuts', :js do let(:user) { create(:user) } let(:project) { create(:project, :public, :repository) } let(:issue) { create(:issue, project: project, author: user) } diff --git a/spec/features/issues/award_spec.rb b/spec/features/issues/award_spec.rb index ddb69d414da..e53a4ce49c7 100644 --- a/spec/features/issues/award_spec.rb +++ b/spec/features/issues/award_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issue awards', :js do +describe 'Issue awards', :js do let(:user) { create(:user) } let(:project) { create(:project, :public) } let(:issue) { create(:issue, project: project) } diff --git a/spec/features/issues/bulk_assignment_labels_spec.rb b/spec/features/issues/bulk_assignment_labels_spec.rb index cf283119f36..44ddc032656 100644 --- a/spec/features/issues/bulk_assignment_labels_spec.rb +++ b/spec/features/issues/bulk_assignment_labels_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issues > Labels bulk assignment' do +describe 'Issues > Labels bulk assignment' do let(:user) { create(:user) } let!(:project) { create(:project) } let!(:issue1) { create(:issue, project: project, title: "Issue 1") } diff --git a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb index 52962002c33..32c6ac52f92 100644 --- a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb +++ b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Resolving all open discussions in a merge request from an issue', :js do +describe 'Resolving all open discussions in a merge request from an issue', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:merge_request) { create(:merge_request, source_project: project) } diff --git a/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb b/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb index 9170f9295f0..b8222283a98 100644 --- a/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb +++ b/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Resolve an open discussion in a merge request by creating an issue', :js do +describe 'Resolve an open discussion in a merge request by creating an issue', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository, only_allow_merge_if_all_discussions_are_resolved: true) } let(:merge_request) { create(:merge_request, source_project: project) } diff --git a/spec/features/issues/gfm_autocomplete_spec.rb b/spec/features/issues/gfm_autocomplete_spec.rb index f2624f55c86..a330ba4c8b3 100644 --- a/spec/features/issues/gfm_autocomplete_spec.rb +++ b/spec/features/issues/gfm_autocomplete_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'GFM autocomplete', :js do +describe 'GFM autocomplete', :js do let(:user) { create(:user, name: '💃speciąl someone💃', username: 'someone.special') } let(:project) { create(:project) } let(:label) { create(:label, project: project, title: 'special+') } diff --git a/spec/features/issues/issue_detail_spec.rb b/spec/features/issues/issue_detail_spec.rb index babb0285590..088ab114df3 100644 --- a/spec/features/issues/issue_detail_spec.rb +++ b/spec/features/issues/issue_detail_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issue Detail', :js do +describe 'Issue Detail', :js do let(:user) { create(:user) } let(:project) { create(:project, :public) } let(:issue) { create(:issue, project: project, author: user) } diff --git a/spec/features/issues/issue_sidebar_spec.rb b/spec/features/issues/issue_sidebar_spec.rb index 830c794376d..b4cb3835a13 100644 --- a/spec/features/issues/issue_sidebar_spec.rb +++ b/spec/features/issues/issue_sidebar_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issue Sidebar' do +describe 'Issue Sidebar' do include MobileHelpers let(:group) { create(:group, :nested) } diff --git a/spec/features/issues/markdown_toolbar_spec.rb b/spec/features/issues/markdown_toolbar_spec.rb index fee8fd9b365..042ecdb172a 100644 --- a/spec/features/issues/markdown_toolbar_spec.rb +++ b/spec/features/issues/markdown_toolbar_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issue markdown toolbar', :js do +describe 'Issue markdown toolbar', :js do let(:project) { create(:project, :public) } let(:issue) { create(:issue, project: project) } let(:user) { create(:user) } diff --git a/spec/features/issues/move_spec.rb b/spec/features/issues/move_spec.rb index 3c01ff345fc..2abc50b04e4 100644 --- a/spec/features/issues/move_spec.rb +++ b/spec/features/issues/move_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'issue move to another project' do +describe 'issue move to another project' do let(:user) { create(:user) } let(:old_project) { create(:project, :repository) } let(:text) { 'Some issue description' } @@ -9,16 +9,18 @@ feature 'issue move to another project' do create(:issue, description: text, project: old_project, author: user) end - background { sign_in(user) } + before do + sign_in(user) + end context 'user does not have permission to move issue' do - background do + before do old_project.add_guest(user) visit issue_path(issue) end - scenario 'moving issue to another project not allowed' do + it 'moving issue to another project not allowed' do expect(page).to have_no_selector('.js-sidebar-move-issue-block') end end @@ -30,14 +32,14 @@ feature 'issue move to another project' do let(:text) { "Text with #{mr.to_reference}" } let(:cross_reference) { old_project.to_reference(new_project) } - background do + before do old_project.add_reporter(user) new_project.add_reporter(user) visit issue_path(issue) end - scenario 'moving issue to another project', :js do + it 'moving issue to another project', :js do find('.js-move-issue').click wait_for_requests all('.js-move-issue-dropdown-item')[0].click @@ -49,7 +51,7 @@ feature 'issue move to another project' do expect(page.current_path).to include project_path(new_project) end - scenario 'searching project dropdown', :js do + it 'searching project dropdown', :js do new_project_search.add_reporter(user) find('.js-move-issue').click @@ -66,9 +68,11 @@ feature 'issue move to another project' do context 'user does not have permission to move the issue to a project', :js do let!(:private_project) { create(:project, :private) } let(:another_project) { create(:project) } - background { another_project.add_guest(user) } + before do + another_project.add_guest(user) + end - scenario 'browsing projects in projects select' do + it 'browsing projects in projects select' do find('.js-move-issue').click wait_for_requests @@ -84,7 +88,7 @@ feature 'issue move to another project' do create(:issue, project: old_project, author: user, moved_to: new_issue) end - scenario 'user wants to move issue that has already been moved' do + it 'user wants to move issue that has already been moved' do expect(page).to have_no_selector('#move_to_project_id') end end diff --git a/spec/features/issues/note_polling_spec.rb b/spec/features/issues/note_polling_spec.rb index 793572851da..3cd7ce6dada 100644 --- a/spec/features/issues/note_polling_spec.rb +++ b/spec/features/issues/note_polling_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Issue notes polling', :js do +describe 'Issue notes polling', :js do include NoteInteractionHelpers let(:project) { create(:project, :public) } diff --git a/spec/features/issues/todo_spec.rb b/spec/features/issues/todo_spec.rb index 4a44ec302fc..d23f9059d0f 100644 --- a/spec/features/issues/todo_spec.rb +++ b/spec/features/issues/todo_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Manually create a todo item from issue', :js do +describe 'Manually create a todo item from issue', :js do let!(:project) { create(:project) } let!(:issue) { create(:issue, project: project) } let!(:user) { create(:user)} diff --git a/spec/features/issues/update_issues_spec.rb b/spec/features/issues/update_issues_spec.rb index 7d6edc171f8..cd6a5977eb8 100644 --- a/spec/features/issues/update_issues_spec.rb +++ b/spec/features/issues/update_issues_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Multiple issue updating from issues#index', :js do +describe 'Multiple issue updating from issues#index', :js do let!(:project) { create(:project) } let!(:issue) { create(:issue, project: project) } let!(:user) { create(:user)} diff --git a/spec/features/issues/user_uses_slash_commands_spec.rb b/spec/features/issues/user_uses_slash_commands_spec.rb index 17818beb947..a28378b22ca 100644 --- a/spec/features/issues/user_uses_slash_commands_spec.rb +++ b/spec/features/issues/user_uses_slash_commands_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Issues > User uses quick actions', :js do +describe 'Issues > User uses quick actions', :js do include Spec::Support::Helpers::Features::NotesHelpers it_behaves_like 'issuable record that supports quick actions in its description and notes', :issue do diff --git a/spec/features/labels_hierarchy_spec.rb b/spec/features/labels_hierarchy_spec.rb index 5573148f8bc..6f917f522bc 100644 --- a/spec/features/labels_hierarchy_spec.rb +++ b/spec/features/labels_hierarchy_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Labels Hierarchy', :js, :nested_groups do +describe 'Labels Hierarchy', :js, :nested_groups do include FilteredSearchHelpers let!(:user) { create(:user) } diff --git a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb index 728e89db400..f0d38dc6a0c 100644 --- a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb +++ b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Merge request > User creates image diff notes', :js do +describe 'Merge request > User creates image diff notes', :js do include NoteInteractionHelpers let(:project) { create(:project, :public, :repository) } diff --git a/spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb b/spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb index fdf9a84e997..777464ef841 100644 --- a/spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb +++ b/spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Merge request > User resolves outdated diff discussions', :js do +describe 'Merge request > User resolves outdated diff discussions', :js do let(:project) { create(:project, :repository, :public) } let(:merge_request) do diff --git a/spec/features/merge_requests/user_squashes_merge_request_spec.rb b/spec/features/merge_requests/user_squashes_merge_request_spec.rb index 6c952791591..da3d6772eeb 100644 --- a/spec/features/merge_requests/user_squashes_merge_request_spec.rb +++ b/spec/features/merge_requests/user_squashes_merge_request_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User squashes a merge request', :js do +describe 'User squashes a merge request', :js do let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:source_branch) { 'csv' } diff --git a/spec/features/milestone_spec.rb b/spec/features/milestone_spec.rb index b0db6870ddf..b12aba2c263 100644 --- a/spec/features/milestone_spec.rb +++ b/spec/features/milestone_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Milestone' do +describe 'Milestone' do let(:group) { create(:group, :public) } let(:project) { create(:project, :public, namespace: group) } let(:user) { create(:user) } @@ -11,8 +11,8 @@ feature 'Milestone' do sign_in(user) end - feature 'Create a milestone' do - scenario 'shows an informative message for a new milestone' do + describe 'Create a milestone' do + it 'shows an informative message for a new milestone' do visit new_project_milestone_path(project) page.within '.milestone-form' do @@ -28,8 +28,8 @@ feature 'Milestone' do end end - feature 'Open a milestone with closed issues' do - scenario 'shows an informative message' do + describe 'Open a milestone with closed issues' do + it 'shows an informative message' do milestone = create(:milestone, project: project, title: 8.7) create(:issue, title: "Bugfix1", project: project, milestone: milestone, state: "closed") @@ -39,8 +39,8 @@ feature 'Milestone' do end end - feature 'Open a project milestone with an existing title' do - scenario 'displays validation message when there is a project milestone with same title' do + describe 'Open a project milestone with an existing title' do + it 'displays validation message when there is a project milestone with same title' do milestone = create(:milestone, project: project, title: 8.7) visit new_project_milestone_path(project) @@ -52,7 +52,7 @@ feature 'Milestone' do expect(find('.alert-danger')).to have_content('already being used for another group or project milestone.') end - scenario 'displays validation message when there is a group milestone with same title' do + it 'displays validation message when there is a group milestone with same title' do milestone = create(:milestone, project_id: nil, group: project.group, title: 8.7) visit new_group_milestone_path(project.group) @@ -66,8 +66,8 @@ feature 'Milestone' do end end - feature 'Open a milestone', :js do - scenario 'shows total issue time spent correctly when no time has been logged' do + describe 'Open a milestone', :js do + it 'shows total issue time spent correctly when no time has been logged' do milestone = create(:milestone, project: project, title: 8.7) visit project_milestone_path(project, milestone) @@ -79,7 +79,7 @@ feature 'Milestone' do end end - scenario 'shows total issue time spent' do + it 'shows total issue time spent' do milestone = create(:milestone, project: project, title: 8.7) issue1 = create(:issue, project: project, milestone: milestone) issue2 = create(:issue, project: project, milestone: milestone) @@ -98,8 +98,8 @@ feature 'Milestone' do end end - feature 'Deleting a milestone' do - scenario "The delete milestone button does not show for unauthorized users" do + describe 'Deleting a milestone' do + it "The delete milestone button does not show for unauthorized users" do create(:milestone, project: project, title: 8.7) sign_out(user) @@ -109,7 +109,7 @@ feature 'Milestone' do end end - feature 'deprecation popover', :js do + describe 'deprecation popover', :js do it 'opens deprecation popover' do milestone = create(:milestone, project: project) diff --git a/spec/features/oauth_login_spec.rb b/spec/features/oauth_login_spec.rb index 013cdaa6479..f4105730402 100644 --- a/spec/features/oauth_login_spec.rb +++ b/spec/features/oauth_login_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'OAuth Login', :js, :allow_forgery_protection do +describe 'OAuth Login', :js, :allow_forgery_protection do include DeviseHelpers def enter_code(code) diff --git a/spec/features/participants_autocomplete_spec.rb b/spec/features/participants_autocomplete_spec.rb index b3bb8c48b4a..134731a4639 100644 --- a/spec/features/participants_autocomplete_spec.rb +++ b/spec/features/participants_autocomplete_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Member autocomplete', :js do +describe 'Member autocomplete', :js do let(:project) { create(:project, :public) } let(:user) { create(:user) } let(:author) { create(:user) } diff --git a/spec/features/password_reset_spec.rb b/spec/features/password_reset_spec.rb index 73a526c3d8a..dcc63dff9f5 100644 --- a/spec/features/password_reset_spec.rb +++ b/spec/features/password_reset_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Password reset' do +describe 'Password reset' do describe 'throttling' do it 'sends reset instructions when not previously sent' do user = create(:user) diff --git a/spec/features/profiles/account_spec.rb b/spec/features/profiles/account_spec.rb index 95947d2f111..90d0e9bb77c 100644 --- a/spec/features/profiles/account_spec.rb +++ b/spec/features/profiles/account_spec.rb @@ -1,25 +1,25 @@ require 'rails_helper' -feature 'Profile > Account', :js do - given(:user) { create(:user, username: 'foo') } +describe 'Profile > Account', :js do + let(:user) { create(:user, username: 'foo') } before do sign_in(user) end describe 'Change username' do - given(:new_username) { 'bar' } - given(:new_user_path) { "/#{new_username}" } - given(:old_user_path) { "/#{user.username}" } + let(:new_username) { 'bar' } + let(:new_user_path) { "/#{new_username}" } + let(:old_user_path) { "/#{user.username}" } - scenario 'the user is accessible via the new path' do + it 'the user is accessible via the new path' do update_username(new_username) visit new_user_path expect(current_path).to eq(new_user_path) expect(find('.user-info')).to have_content(new_username) end - scenario 'the old user path redirects to the new path' do + it 'the old user path redirects to the new path' do update_username(new_username) visit old_user_path expect(current_path).to eq(new_user_path) @@ -27,9 +27,9 @@ feature 'Profile > Account', :js do end context 'with a project' do - given!(:project) { create(:project, namespace: user.namespace) } - given(:new_project_path) { "/#{new_username}/#{project.path}" } - given(:old_project_path) { "/#{user.username}/#{project.path}" } + let!(:project) { create(:project, namespace: user.namespace) } + let(:new_project_path) { "/#{new_username}/#{project.path}" } + let(:old_project_path) { "/#{user.username}/#{project.path}" } before(:context) do TestEnv.clean_test_path @@ -39,14 +39,14 @@ feature 'Profile > Account', :js do TestEnv.clean_test_path end - scenario 'the project is accessible via the new path' do + it 'the project is accessible via the new path' do update_username(new_username) visit new_project_path expect(current_path).to eq(new_project_path) expect(find('.breadcrumbs-sub-title')).to have_content('Details') end - scenario 'the old project path redirects to the new path' do + it 'the old project path redirects to the new path' do update_username(new_username) visit old_project_path expect(current_path).to eq(new_project_path) diff --git a/spec/features/profiles/active_sessions_spec.rb b/spec/features/profiles/active_sessions_spec.rb index 4045cfd21c4..d3050760c06 100644 --- a/spec/features/profiles/active_sessions_spec.rb +++ b/spec/features/profiles/active_sessions_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do +describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do let(:user) do create(:user).tap do |user| user.current_sign_in_at = Time.current @@ -13,7 +13,7 @@ feature 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do end end - scenario 'User sees their active sessions' do + it 'User sees their active sessions' do Capybara::Session.new(:session1) Capybara::Session.new(:session2) @@ -60,7 +60,7 @@ feature 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do end end - scenario 'User can revoke a session', :js, :redis_session_store do + it 'User can revoke a session', :js, :redis_session_store do Capybara::Session.new(:session1) Capybara::Session.new(:session2) diff --git a/spec/features/profiles/chat_names_spec.rb b/spec/features/profiles/chat_names_spec.rb index 5c959acbbc9..c72069f6262 100644 --- a/spec/features/profiles/chat_names_spec.rb +++ b/spec/features/profiles/chat_names_spec.rb @@ -1,19 +1,19 @@ require 'rails_helper' -feature 'Profile > Chat' do - given(:user) { create(:user) } - given(:service) { create(:service) } +describe 'Profile > Chat' do + let(:user) { create(:user) } + let(:service) { create(:service) } before do sign_in(user) end describe 'uses authorization link' do - given(:params) do + let(:params) do { team_id: 'T00', team_domain: 'my_chat_team', user_id: 'U01', user_name: 'my_chat_user' } end - given!(:authorize_url) { ChatNames::AuthorizeUserService.new(service, params).execute } - given(:authorize_path) { URI.parse(authorize_url).request_uri } + let!(:authorize_url) { ChatNames::AuthorizeUserService.new(service, params).execute } + let(:authorize_path) { URI.parse(authorize_url).request_uri } before do visit authorize_path @@ -24,13 +24,13 @@ feature 'Profile > Chat' do click_button 'Authorize' end - scenario 'goes to list of chat names and see chat account' do + it 'goes to list of chat names and see chat account' do expect(page.current_path).to eq(profile_chat_names_path) expect(page).to have_content('my_chat_team') expect(page).to have_content('my_chat_user') end - scenario 'second use of link is denied' do + it 'second use of link is denied' do visit authorize_path expect(page).to have_gitlab_http_status(:not_found) @@ -42,13 +42,13 @@ feature 'Profile > Chat' do click_button 'Deny' end - scenario 'goes to list of chat names and do not see chat account' do + it 'goes to list of chat names and do not see chat account' do expect(page.current_path).to eq(profile_chat_names_path) expect(page).not_to have_content('my_chat_team') expect(page).not_to have_content('my_chat_user') end - scenario 'second use of link is denied' do + it 'second use of link is denied' do visit authorize_path expect(page).to have_gitlab_http_status(:not_found) @@ -57,18 +57,18 @@ feature 'Profile > Chat' do end describe 'visits chat accounts' do - given!(:chat_name) { create(:chat_name, user: user, service: service) } + let!(:chat_name) { create(:chat_name, user: user, service: service) } before do visit profile_chat_names_path end - scenario 'sees chat user' do + it 'sees chat user' do expect(page).to have_content(chat_name.team_domain) expect(page).to have_content(chat_name.chat_name) end - scenario 'removes chat account' do + it 'removes chat account' do click_link 'Remove' expect(page).to have_content("You don't have any active chat names.") diff --git a/spec/features/profiles/emails_spec.rb b/spec/features/profiles/emails_spec.rb index 11cc8aae6f3..bc6d54b5ed7 100644 --- a/spec/features/profiles/emails_spec.rb +++ b/spec/features/profiles/emails_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Profile > Emails' do +describe 'Profile > Emails' do let(:user) { create(:user) } before do @@ -12,7 +12,7 @@ feature 'Profile > Emails' do visit profile_emails_path end - scenario 'saves the new email' do + it 'saves the new email' do fill_in('Email', with: 'my@email.com') click_button('Add email address') @@ -21,7 +21,7 @@ feature 'Profile > Emails' do expect(page).to have_content('Resend confirmation email') end - scenario 'does not add a duplicate email' do + it 'does not add a duplicate email' do fill_in('Email', with: user.email) click_button('Add email address') @@ -31,7 +31,7 @@ feature 'Profile > Emails' do end end - scenario 'User removes email' do + it 'User removes email' do user.emails.create(email: 'my@email.com') visit profile_emails_path expect(page).to have_content("my@email.com") @@ -40,7 +40,7 @@ feature 'Profile > Emails' do expect(page).not_to have_content("my@email.com") end - scenario 'User confirms email' do + it 'User confirms email' do email = user.emails.create(email: 'my@email.com') visit profile_emails_path expect(page).to have_content("#{email.email} Unverified") @@ -52,7 +52,7 @@ feature 'Profile > Emails' do expect(page).to have_content("#{email.email} Verified") end - scenario 'User re-sends confirmation email' do + it 'User re-sends confirmation email' do email = user.emails.create(email: 'my@email.com') visit profile_emails_path @@ -60,7 +60,7 @@ feature 'Profile > Emails' do expect(page).to have_content("Confirmation email sent to #{email.email}") end - scenario 'old unconfirmed emails show Send Confirmation button' do + it 'old unconfirmed emails show Send Confirmation button' do email = user.emails.create(email: 'my@email.com') email.update_attribute(:confirmation_sent_at, nil) visit profile_emails_path diff --git a/spec/features/profiles/gpg_keys_spec.rb b/spec/features/profiles/gpg_keys_spec.rb index 59233e92f93..ec3ec795b63 100644 --- a/spec/features/profiles/gpg_keys_spec.rb +++ b/spec/features/profiles/gpg_keys_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Profile > GPG Keys' do +describe 'Profile > GPG Keys' do let(:user) { create(:user, email: GpgHelpers::User2.emails.first) } before do @@ -12,7 +12,7 @@ feature 'Profile > GPG Keys' do visit profile_gpg_keys_path end - scenario 'saves the new key' do + it 'saves the new key' do fill_in('Key', with: GpgHelpers::User2.public_key) click_button('Add key') @@ -21,7 +21,7 @@ feature 'Profile > GPG Keys' do expect(page).to have_content(GpgHelpers::User2.fingerprint) end - scenario 'with multiple subkeys' do + it 'with multiple subkeys' do fill_in('Key', with: GpgHelpers::User3.public_key) click_button('Add key') @@ -34,7 +34,7 @@ feature 'Profile > GPG Keys' do end end - scenario 'User sees their key' do + it 'User sees their key' do create(:gpg_key, user: user, key: GpgHelpers::User2.public_key) visit profile_gpg_keys_path @@ -43,7 +43,7 @@ feature 'Profile > GPG Keys' do expect(page).to have_content(GpgHelpers::User2.fingerprint) end - scenario 'User removes a key via the key index' do + it 'User removes a key via the key index' do create(:gpg_key, user: user, key: GpgHelpers::User2.public_key) visit profile_gpg_keys_path @@ -52,7 +52,7 @@ feature 'Profile > GPG Keys' do expect(page).to have_content('Your GPG keys (0)') end - scenario 'User revokes a key via the key index' do + it 'User revokes a key via the key index' do gpg_key = create :gpg_key, user: user, key: GpgHelpers::User2.public_key gpg_signature = create :gpg_signature, gpg_key: gpg_key, verification_status: :verified diff --git a/spec/features/profiles/keys_spec.rb b/spec/features/profiles/keys_spec.rb index b04a5422fed..bfb17a56613 100644 --- a/spec/features/profiles/keys_spec.rb +++ b/spec/features/profiles/keys_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Profile > SSH Keys' do +describe 'Profile > SSH Keys' do let(:user) { create(:user) } before do @@ -12,13 +12,13 @@ feature 'Profile > SSH Keys' do visit profile_keys_path end - scenario 'auto-populates the title', :js do + it 'auto-populates the title', :js do fill_in('Key', with: attributes_for(:key).fetch(:key)) expect(page).to have_field("Title", with: "dummy@gitlab.com") end - scenario 'saves the new key' do + it 'saves the new key' do attrs = attributes_for(:key) fill_in('Key', with: attrs[:key]) @@ -36,7 +36,7 @@ feature 'Profile > SSH Keys' do stub_application_setting(rsa_key_restriction: forbidden, ed25519_key_restriction: forbidden) end - scenario 'shows a validation error' do + it 'shows a validation error' do attrs = attributes_for(:key) fill_in('Key', with: attrs[:key]) @@ -48,14 +48,14 @@ feature 'Profile > SSH Keys' do end end - scenario 'User sees their keys' do + it 'User sees their keys' do key = create(:key, user: user) visit profile_keys_path expect(page).to have_content(key.title) end - scenario 'User removes a key via the key index' do + it 'User removes a key via the key index' do create(:key, user: user) visit profile_keys_path @@ -64,7 +64,7 @@ feature 'Profile > SSH Keys' do expect(page).to have_content('Your SSH keys (0)') end - scenario 'User removes a key via its details page' do + it 'User removes a key via its details page' do key = create(:key, user: user) visit profile_key_path(key) diff --git a/spec/features/profiles/user_changes_notified_of_own_activity_spec.rb b/spec/features/profiles/user_changes_notified_of_own_activity_spec.rb index d5fe5bdffc5..f618bc330ea 100644 --- a/spec/features/profiles/user_changes_notified_of_own_activity_spec.rb +++ b/spec/features/profiles/user_changes_notified_of_own_activity_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -feature 'Profile > Notifications > User changes notified_of_own_activity setting', :js do +describe 'Profile > Notifications > User changes notified_of_own_activity setting', :js do let(:user) { create(:user) } before do sign_in(user) end - scenario 'User opts into receiving notifications about their own activity' do + it 'User opts into receiving notifications about their own activity' do visit profile_notifications_path expect(page).not_to have_checked_field('user[notified_of_own_activity]') @@ -18,7 +18,7 @@ feature 'Profile > Notifications > User changes notified_of_own_activity setting expect(page).to have_checked_field('user[notified_of_own_activity]') end - scenario 'User opts out of receiving notifications about their own activity' do + it 'User opts out of receiving notifications about their own activity' do user.update!(notified_of_own_activity: true) visit profile_notifications_path diff --git a/spec/features/profiles/user_visits_notifications_tab_spec.rb b/spec/features/profiles/user_visits_notifications_tab_spec.rb index 95953fbcfac..689196c2258 100644 --- a/spec/features/profiles/user_visits_notifications_tab_spec.rb +++ b/spec/features/profiles/user_visits_notifications_tab_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'User visits the notifications tab', :js do +describe 'User visits the notifications tab', :js do let(:project) { create(:project) } let(:user) { create(:user) } 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: '