diff options
Diffstat (limited to 'spec/features/admin')
-rw-r--r-- | spec/features/admin/admin_abuse_reports_spec.rb | 354 | ||||
-rw-r--r-- | spec/features/admin/admin_hooks_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/admin/admin_jobs_spec.rb | 114 | ||||
-rw-r--r-- | spec/features/admin/admin_mode/logout_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/admin/admin_mode/workers_spec.rb | 6 | ||||
-rw-r--r-- | spec/features/admin/admin_mode_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/admin/admin_runners_spec.rb | 7 | ||||
-rw-r--r-- | spec/features/admin/admin_sees_background_migrations_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/admin/admin_settings_spec.rb | 10 | ||||
-rw-r--r-- | spec/features/admin/users/user_spec.rb | 10 | ||||
-rw-r--r-- | spec/features/admin/users/users_spec.rb | 6 |
11 files changed, 189 insertions, 326 deletions
diff --git a/spec/features/admin/admin_abuse_reports_spec.rb b/spec/features/admin/admin_abuse_reports_spec.rb index 18bc851558d..973988560b3 100644 --- a/spec/features/admin/admin_abuse_reports_spec.rb +++ b/spec/features/admin/admin_abuse_reports_spec.rb @@ -11,291 +11,195 @@ RSpec.describe "Admin::AbuseReports", :js, feature_category: :insider_threat do let_it_be(:closed_report) { create(:abuse_report, :closed, user: user, category: 'spam') } describe 'as an admin' do + include FilteredSearchHelpers + before do sign_in(admin) gitlab_enable_admin_mode_sign_in(admin) - end - - context 'when abuse_reports_list feature flag is enabled' do - include FilteredSearchHelpers - - before do - visit admin_abuse_reports_path - end - - let(:abuse_report_row_selector) { '[data-testid="abuse-report-row"]' } - - it 'only includes open reports by default' do - expect_displayed_reports_count(2) - - expect_report_shown(open_report, open_report2) - - within '[data-testid="abuse-reports-filtered-search-bar"]' do - expect(page).to have_content 'Status = Open' - end - end - - it 'can be filtered by status, user, reporter, and category', :aggregate_failures do - # filter by status - filter %w[Status Closed] - expect_displayed_reports_count(1) - expect_report_shown(closed_report) - expect_report_not_shown(open_report, open_report2) - - filter %w[Status Open] - expect_displayed_reports_count(2) - expect_report_shown(open_report, open_report2) - expect_report_not_shown(closed_report) - - # filter by user - filter(['User', open_report2.user.username]) - expect_displayed_reports_count(1) - expect_report_shown(open_report2) - expect_report_not_shown(open_report, closed_report) + visit admin_abuse_reports_path + end - # filter by reporter - filter(['Reporter', open_report.reporter.username]) + let(:abuse_report_row_selector) { '[data-testid="abuse-report-row"]' } - expect_displayed_reports_count(1) - expect_report_shown(open_report) - expect_report_not_shown(open_report2, closed_report) + it 'only includes open reports by default' do + expect_displayed_reports_count(2) - # filter by category - filter(['Category', open_report2.category]) + expect_report_shown(open_report, open_report2) - expect_displayed_reports_count(1) - expect_report_shown(open_report2) - expect_report_not_shown(open_report, closed_report) + within_testid('abuse-reports-filtered-search-bar') do + expect(page).to have_content 'Status = Open' end + end - it 'can be sorted by created_at and updated_at in desc and asc order', :aggregate_failures do - sort_by 'Created date' - # created_at desc - expect(report_rows[0].text).to include(report_text(open_report2)) - expect(report_rows[1].text).to include(report_text(open_report)) - - # created_at asc - toggle_sort_direction - - expect(report_rows[0].text).to include(report_text(open_report)) - expect(report_rows[1].text).to include(report_text(open_report2)) + it 'can be filtered by status, user, reporter, and category', :aggregate_failures do + # filter by status + filter %w[Status Closed] + expect_displayed_reports_count(1) + expect_report_shown(closed_report) + expect_report_not_shown(open_report, open_report2) - # updated_at asc - sort_by 'Updated date' + filter %w[Status Open] + expect_displayed_reports_count(2) + expect_report_shown(open_report, open_report2) + expect_report_not_shown(closed_report) - expect(report_rows[0].text).to include(report_text(open_report2)) - expect(report_rows[1].text).to include(report_text(open_report)) + # filter by user + filter(['User', open_report2.user.username]) - # updated_at desc - toggle_sort_direction + expect_displayed_reports_count(1) + expect_report_shown(open_report2) + expect_report_not_shown(open_report, closed_report) - expect(report_rows[0].text).to include(report_text(open_report)) - expect(report_rows[1].text).to include(report_text(open_report2)) - end + # filter by reporter + filter(['Reporter', open_report.reporter.username]) - context 'when multiple reports for the same user are created' do - let_it_be(:open_report3) { create(:abuse_report, category: 'spam', user: user) } - let_it_be(:closed_report2) { create(:abuse_report, :closed, user: user, category: 'spam') } + expect_displayed_reports_count(1) + expect_report_shown(open_report) + expect_report_not_shown(open_report2, closed_report) - it 'aggregates open reports by user & category', :aggregate_failures do - expect_displayed_reports_count(2) + # filter by category + filter(['Category', open_report2.category]) - expect_aggregated_report_shown(open_report, 2) - expect_report_shown(open_report2) - end + expect_displayed_reports_count(1) + expect_report_shown(open_report2) + expect_report_not_shown(open_report, closed_report) + end - it 'can sort aggregated reports by number_of_reports in desc order only', :aggregate_failures do - sort_by 'Number of Reports' + it 'can be sorted by created_at and updated_at in desc and asc order', :aggregate_failures do + sort_by 'Created date' + # created_at desc + expect(report_rows[0].text).to include(report_text(open_report2)) + expect(report_rows[1].text).to include(report_text(open_report)) - expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) - expect(report_rows[1].text).to include(report_text(open_report2)) + # created_at asc + toggle_sort_direction - toggle_sort_direction + expect(report_rows[0].text).to include(report_text(open_report)) + expect(report_rows[1].text).to include(report_text(open_report2)) - expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) - expect(report_rows[1].text).to include(report_text(open_report2)) - end + # updated_at asc + sort_by 'Updated date' - it 'can sort aggregated reports by created_at and updated_at in desc and asc order', :aggregate_failures do - # number_of_reports desc (default) - expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) - expect(report_rows[1].text).to include(report_text(open_report2)) + expect(report_rows[0].text).to include(report_text(open_report2)) + expect(report_rows[1].text).to include(report_text(open_report)) - # created_at desc - sort_by 'Created date' + # updated_at desc + toggle_sort_direction - expect(report_rows[0].text).to include(report_text(open_report2)) - expect(report_rows[1].text).to include(aggregated_report_text(open_report, 2)) - - # created_at asc - toggle_sort_direction + expect(report_rows[0].text).to include(report_text(open_report)) + expect(report_rows[1].text).to include(report_text(open_report2)) + end - expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) - expect(report_rows[1].text).to include(report_text(open_report2)) + context 'when multiple reports for the same user are created' do + let_it_be(:open_report3) { create(:abuse_report, category: 'spam', user: user) } + let_it_be(:closed_report2) { create(:abuse_report, :closed, user: user, category: 'spam') } - sort_by 'Updated date' + it 'aggregates open reports by user & category', :aggregate_failures do + expect_displayed_reports_count(2) - # updated_at asc - expect(report_rows[0].text).to include(report_text(open_report2)) - expect(report_rows[1].text).to include(aggregated_report_text(open_report, 2)) + expect_aggregated_report_shown(open_report, 2) + expect_report_shown(open_report2) + end - # updated_at desc - toggle_sort_direction + it 'can sort aggregated reports by number_of_reports in desc order only', :aggregate_failures do + sort_by 'Number of Reports' - expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) - expect(report_rows[1].text).to include(report_text(open_report2)) - end + expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) + expect(report_rows[1].text).to include(report_text(open_report2)) - it 'does not aggregate closed reports', :aggregate_failures do - filter %w[Status Closed] + toggle_sort_direction - expect_displayed_reports_count(2) - expect_report_shown(closed_report, closed_report2) - end + expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) + expect(report_rows[1].text).to include(report_text(open_report2)) end - def report_rows - page.all(abuse_report_row_selector) - end + it 'can sort aggregated reports by created_at and updated_at in desc and asc order', :aggregate_failures do + # number_of_reports desc (default) + expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) + expect(report_rows[1].text).to include(report_text(open_report2)) - def report_text(report) - "#{report.user.name} reported for #{report.category} by #{report.reporter.name}" - end + # created_at desc + sort_by 'Created date' - def aggregated_report_text(report, count) - "#{report.user.name} reported for #{report.category} by #{count} users" - end + expect(report_rows[0].text).to include(report_text(open_report2)) + expect(report_rows[1].text).to include(aggregated_report_text(open_report, 2)) - def expect_report_shown(*reports) - reports.each do |r| - expect(page).to have_content(report_text(r)) - end - end + # created_at asc + toggle_sort_direction - def expect_report_not_shown(*reports) - reports.each do |r| - expect(page).not_to have_content(report_text(r)) - end - end + expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) + expect(report_rows[1].text).to include(report_text(open_report2)) - def expect_aggregated_report_shown(*reports, count) - reports.each do |r| - expect(page).to have_content(aggregated_report_text(r, count)) - end - end + sort_by 'Updated date' - def expect_displayed_reports_count(count) - expect(page).to have_css(abuse_report_row_selector, count: count) - end + # updated_at asc + expect(report_rows[0].text).to include(report_text(open_report2)) + expect(report_rows[1].text).to include(aggregated_report_text(open_report, 2)) - def filter(tokens) - # remove all existing filters first - page.find_all('.gl-token-close').each(&:click) + # updated_at desc + toggle_sort_direction - select_tokens(*tokens, submit: true, input_text: 'Filter reports') + expect(report_rows[0].text).to include(aggregated_report_text(open_report, 2)) + expect(report_rows[1].text).to include(report_text(open_report2)) end - def sort_by(sort) - page.within('.vue-filtered-search-bar-container .sort-dropdown-container') do - page.find('.gl-dropdown-toggle').click + it 'does not aggregate closed reports', :aggregate_failures do + filter %w[Status Closed] - page.within('.dropdown-menu') do - click_button sort - wait_for_requests - end - end + expect_displayed_reports_count(2) + expect_report_shown(closed_report, closed_report2) end end - context 'when abuse_reports_list feature flag is disabled' do - before do - stub_feature_flags(abuse_reports_list: false) - - visit admin_abuse_reports_path - end + def report_rows + page.all(abuse_report_row_selector) + end - it 'displays all abuse reports', :aggregate_failures do - expect_report_shown(open_report) - expect_report_actions_shown(open_report) + def report_text(report) + "#{report.user.name} reported for #{report.category} by #{report.reporter.name}" + end - expect_report_shown(open_report2) - expect_report_actions_shown(open_report2) + def aggregated_report_text(report, count) + "#{report.user.name} reported for #{report.category} by #{count} users" + end - expect_report_shown(closed_report) - expect_report_actions_shown(closed_report) + def expect_report_shown(*reports) + reports.each do |r| + expect(page).to have_content(report_text(r)) end + end - context 'when an admin has been reported for abuse' do - let_it_be(:admin_abuse_report) { create(:abuse_report, user: admin) } - - it 'displays the abuse report without actions' do - expect_report_shown(admin_abuse_report) - expect_report_actions_not_shown(admin_abuse_report) - end + def expect_report_not_shown(*reports) + reports.each do |r| + expect(page).not_to have_content(report_text(r)) end + end - context 'when multiple users have been reported for abuse' do - let(:report_count) { AbuseReport.default_per_page + 3 } - - before do - report_count.times do - create(:abuse_report, user: create(:user)) - end - end - - context 'in the abuse report view', :aggregate_failures do - it 'adds pagination' do - visit admin_abuse_reports_path - - expect(page).to have_selector('.pagination') - expect(page).to have_selector('.pagination .js-pagination-page', count: (report_count.to_f / AbuseReport.default_per_page).ceil) - end - end + def expect_aggregated_report_shown(*reports, count) + reports.each do |r| + expect(page).to have_content(aggregated_report_text(r, count)) end + end - context 'when filtering reports' do - it 'can be filtered by reported-user', :aggregate_failures do - visit admin_abuse_reports_path - - page.within '.filter-form' do - click_button 'User' - wait_for_requests - - page.within '.dropdown-menu-user' do - click_link user.name - end - - wait_for_requests - end + def expect_displayed_reports_count(count) + expect(page).to have_css(abuse_report_row_selector, count: count) + end - expect_report_shown(open_report) - expect_report_shown(closed_report) - end - end + def filter(tokens) + # remove all existing filters first + page.find_all('.gl-token-close').each(&:click) - def expect_report_shown(report) - page.within(:table_row, { "User" => report.user.name, "Reported by" => report.reporter.name }) do - expect(page).to have_content(report.user.name) - expect(page).to have_content(report.reporter.name) - expect(page).to have_content(report.message) - expect(page).to have_link(report.user.name, href: user_path(report.user)) - end - end + select_tokens(*tokens, submit: true, input_text: 'Filter reports') + end - def expect_report_actions_shown(report) - page.within(:table_row, { "User" => report.user.name, "Reported by" => report.reporter.name }) do - expect(page).to have_link('Remove user & report') - expect(page).to have_link('Block user') - expect(page).to have_link('Remove user') - end - end + def sort_by(sort) + page.within('.vue-filtered-search-bar-container .sort-dropdown-container') do + page.find('.gl-dropdown-toggle').click - def expect_report_actions_not_shown(report) - page.within(:table_row, { "User" => report.user.name, "Reported by" => report.reporter.name }) do - expect(page).not_to have_link('Remove user & report') - expect(page).not_to have_link('Block user') - expect(page).not_to have_link('Remove user') + page.within('.dropdown-menu') do + click_button sort + wait_for_requests end end end diff --git a/spec/features/admin/admin_hooks_spec.rb b/spec/features/admin/admin_hooks_spec.rb index b4f64cbfa7b..a5acba1fe4a 100644 --- a/spec/features/admin/admin_hooks_spec.rb +++ b/spec/features/admin/admin_hooks_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe 'Admin::Hooks', feature_category: :webhooks do include Spec::Support::Helpers::ModalHelpers - let_it_be(:user) { create(:admin) } + let_it_be(:user) { create(:admin, :no_super_sidebar) } before do sign_in(user) diff --git a/spec/features/admin/admin_jobs_spec.rb b/spec/features/admin/admin_jobs_spec.rb index d46b314c144..b305bec6493 100644 --- a/spec/features/admin/admin_jobs_spec.rb +++ b/spec/features/admin/admin_jobs_spec.rb @@ -2,9 +2,8 @@ require 'spec_helper' -RSpec.describe 'Admin Jobs', feature_category: :continuous_integration do +RSpec.describe 'Admin Jobs', :js, feature_category: :continuous_integration do before do - stub_feature_flags(admin_jobs_vue: false) admin = create(:admin) sign_in(admin) gitlab_enable_admin_mode_sign_in(admin) @@ -23,12 +22,13 @@ RSpec.describe 'Admin Jobs', feature_category: :continuous_integration do visit admin_jobs_path - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'All') - expect(page).to have_selector('.row-content-block', text: 'All jobs') - expect(page.all('.build-link').size).to eq(4) - expect(page).to have_button 'Stop all jobs' + wait_for_requests - click_button 'Stop all jobs' + expect(page).to have_selector('[data-testid="jobs-all-tab"]') + expect(page.all('[data-testid="jobs-table-row"]').size).to eq(4) + expect(page).to have_button 'Cancel all jobs' + + click_button 'Cancel all jobs' expect(page).to have_button 'Yes, proceed' expect(page).to have_content 'Are you sure?' end @@ -38,73 +38,11 @@ RSpec.describe 'Admin Jobs', feature_category: :continuous_integration do it 'shows a message' do visit admin_jobs_path - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'All') - expect(page).to have_content 'No jobs to show' - expect(page).not_to have_button 'Stop all jobs' - end - end - end - - context 'Pending tab' do - context 'when have pending jobs' do - it 'shows pending jobs' do - build1 = create(:ci_build, pipeline: pipeline, status: :pending) - build2 = create(:ci_build, pipeline: pipeline, status: :running) - build3 = create(:ci_build, pipeline: pipeline, status: :success) - build4 = create(:ci_build, pipeline: pipeline, status: :failed) - - visit admin_jobs_path(scope: :pending) - - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Pending') - expect(page.find('.build-link')).to have_content(build1.id) - expect(page.find('.build-link')).not_to have_content(build2.id) - expect(page.find('.build-link')).not_to have_content(build3.id) - expect(page.find('.build-link')).not_to have_content(build4.id) - expect(page).to have_button 'Stop all jobs' - end - end - - context 'when have no jobs pending' do - it 'shows a message' do - create(:ci_build, pipeline: pipeline, status: :success) - - visit admin_jobs_path(scope: :pending) - - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Pending') - expect(page).to have_content 'No jobs to show' - expect(page).not_to have_button 'Stop all jobs' - end - end - end - - context 'Running tab' do - context 'when have running jobs' do - it 'shows running jobs' do - build1 = create(:ci_build, pipeline: pipeline, status: :running) - build2 = create(:ci_build, pipeline: pipeline, status: :success) - build3 = create(:ci_build, pipeline: pipeline, status: :failed) - build4 = create(:ci_build, pipeline: pipeline, status: :pending) - - visit admin_jobs_path(scope: :running) - - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Running') - expect(page.find('.build-link')).to have_content(build1.id) - expect(page.find('.build-link')).not_to have_content(build2.id) - expect(page.find('.build-link')).not_to have_content(build3.id) - expect(page.find('.build-link')).not_to have_content(build4.id) - expect(page).to have_button 'Stop all jobs' - end - end - - context 'when have no jobs running' do - it 'shows a message' do - create(:ci_build, pipeline: pipeline, status: :success) - - visit admin_jobs_path(scope: :running) + wait_for_requests - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Running') - expect(page).to have_content 'No jobs to show' - expect(page).not_to have_button 'Stop all jobs' + expect(page).to have_selector('[data-testid="jobs-all-tab"]') + expect(page).to have_selector('[data-testid="jobs-empty-state"]') + expect(page).not_to have_button 'Cancel all jobs' end end end @@ -116,13 +54,19 @@ RSpec.describe 'Admin Jobs', feature_category: :continuous_integration do build2 = create(:ci_build, pipeline: pipeline, status: :running) build3 = create(:ci_build, pipeline: pipeline, status: :success) - visit admin_jobs_path(scope: :finished) + visit admin_jobs_path + + wait_for_requests + + find_by_testid('jobs-finished-tab').click + + wait_for_requests - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Finished') - expect(page.find('.build-link')).not_to have_content(build1.id) - expect(page.find('.build-link')).not_to have_content(build2.id) - expect(page.find('.build-link')).to have_content(build3.id) - expect(page).to have_button 'Stop all jobs' + expect(page).to have_selector('[data-testid="jobs-finished-tab"]') + expect(find_by_testid('job-id-link')).not_to have_content(build1.id) + expect(find_by_testid('job-id-link')).not_to have_content(build2.id) + expect(find_by_testid('job-id-link')).to have_content(build3.id) + expect(page).to have_button 'Cancel all jobs' end end @@ -130,11 +74,17 @@ RSpec.describe 'Admin Jobs', feature_category: :continuous_integration do it 'shows a message' do create(:ci_build, pipeline: pipeline, status: :running) - visit admin_jobs_path(scope: :finished) + visit admin_jobs_path + + wait_for_requests + + find_by_testid('jobs-finished-tab').click + + wait_for_requests - expect(page).to have_selector('[data-testid="jobs-tabs"] a.active', text: 'Finished') + expect(page).to have_selector('[data-testid="jobs-finished-tab"]') expect(page).to have_content 'No jobs to show' - expect(page).to have_button 'Stop all jobs' + expect(page).to have_button 'Cancel all jobs' end end end diff --git a/spec/features/admin/admin_mode/logout_spec.rb b/spec/features/admin/admin_mode/logout_spec.rb index a64d3f241f6..5d9106fea02 100644 --- a/spec/features/admin/admin_mode/logout_spec.rb +++ b/spec/features/admin/admin_mode/logout_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Admin Mode Logout', :js, feature_category: :system_access do include UserLoginHelper include Features::TopNavSpecHelpers - let(:user) { create(:admin) } + let(:user) { create(:admin, :no_super_sidebar) } before do # TODO: This used to use gitlab_sign_in, instead of sign_in, but that is buggy. See diff --git a/spec/features/admin/admin_mode/workers_spec.rb b/spec/features/admin/admin_mode/workers_spec.rb index 124c43eef9d..2a862c750d7 100644 --- a/spec/features/admin/admin_mode/workers_spec.rb +++ b/spec/features/admin/admin_mode/workers_spec.rb @@ -6,8 +6,8 @@ require 'spec_helper' RSpec.describe 'Admin mode for workers', :request_store, feature_category: :system_access do include Features::AdminUsersHelpers - let(:user) { create(:user) } - let(:user_to_delete) { create(:user) } + let(:user) { create(:user, :no_super_sidebar) } + let(:user_to_delete) { create(:user, :no_super_sidebar) } before do sign_in(user) @@ -22,7 +22,7 @@ RSpec.describe 'Admin mode for workers', :request_store, feature_category: :syst end context 'as an admin user' do - let(:user) { create(:admin) } + let(:user) { create(:admin, :no_super_sidebar) } context 'when admin mode disabled' do it 'cannot delete user', :js do diff --git a/spec/features/admin/admin_mode_spec.rb b/spec/features/admin/admin_mode_spec.rb index 65249fa0235..edfa58567ad 100644 --- a/spec/features/admin/admin_mode_spec.rb +++ b/spec/features/admin/admin_mode_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Admin mode', :js, feature_category: :shared do include Features::TopNavSpecHelpers include StubENV - let(:admin) { create(:admin) } + let(:admin) { create(:admin, :no_super_sidebar) } before do stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') diff --git a/spec/features/admin/admin_runners_spec.rb b/spec/features/admin/admin_runners_spec.rb index af6ba318ac6..e0f4473c80c 100644 --- a/spec/features/admin/admin_runners_spec.rb +++ b/spec/features/admin/admin_runners_spec.rb @@ -54,6 +54,11 @@ RSpec.describe "Admin Runners", feature_category: :runner_fleet do let(:runner) { instance_runner } end + it_behaves_like 'shows runner details from list' do + let(:runner) { instance_runner } + let(:runner_page_path) { admin_runner_path(instance_runner) } + end + it_behaves_like 'pauses, resumes and deletes a runner' do let(:runner) { instance_runner } end @@ -575,6 +580,8 @@ RSpec.describe "Admin Runners", feature_category: :runner_fleet do let(:runner_page_path) { admin_runner_path(project_runner) } end + it_behaves_like 'shows locked field' + describe 'breadcrumbs' do it 'contains the current runner id and token' do page.within '[data-testid="breadcrumb-links"]' do diff --git a/spec/features/admin/admin_sees_background_migrations_spec.rb b/spec/features/admin/admin_sees_background_migrations_spec.rb index 7d4d3deb6d8..7423e74bf3a 100644 --- a/spec/features/admin/admin_sees_background_migrations_spec.rb +++ b/spec/features/admin/admin_sees_background_migrations_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe "Admin > Admin sees background migrations", feature_category: :database do include ListboxHelpers - let_it_be(:admin) { create(:admin) } + let_it_be(:admin) { create(:admin, :no_super_sidebar) } let(:job_class) { Gitlab::BackgroundMigration::CopyColumnUsingBackgroundMigrationJob } let_it_be(:active_migration) { create(:batched_background_migration, :active, table_name: 'active') } diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb index b78d6777a1a..e87f47e5234 100644 --- a/spec/features/admin/admin_settings_spec.rb +++ b/spec/features/admin/admin_settings_spec.rb @@ -7,7 +7,7 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do include TermsHelper include UsageDataHelpers - let_it_be(:admin) { create(:admin) } + let_it_be(:admin) { create(:admin, :no_super_sidebar) } context 'application setting :admin_mode is enabled', :request_store do before do @@ -53,7 +53,7 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do it 'modify import sources' do expect(current_settings.import_sources).to be_empty - page.within('[data-testid="admin-visibility-access-settings"]') do + page.within('[data-testid="admin-import-export-settings"]') do check "Repository by URL" click_button 'Save changes' end @@ -63,7 +63,7 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do end it 'change Visibility and Access Controls' do - page.within('[data-testid="admin-visibility-access-settings"]') do + page.within('[data-testid="admin-import-export-settings"]') do page.within('[data-testid="project-export"]') do uncheck 'Enabled' end @@ -113,7 +113,7 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do end it 'change Maximum export size' do - page.within(find('[data-testid="account-limit"]')) do + page.within(find('[data-testid="admin-import-export-settings"]')) do fill_in 'Maximum export size (MiB)', with: 25 click_button 'Save changes' end @@ -123,7 +123,7 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do end it 'change Maximum import size' do - page.within(find('[data-testid="account-limit"]')) do + page.within(find('[data-testid="admin-import-export-settings"]')) do fill_in 'Maximum import size (MiB)', with: 15 click_button 'Save changes' end diff --git a/spec/features/admin/users/user_spec.rb b/spec/features/admin/users/user_spec.rb index a95fd133133..7dc329e6909 100644 --- a/spec/features/admin/users/user_spec.rb +++ b/spec/features/admin/users/user_spec.rb @@ -6,8 +6,8 @@ RSpec.describe 'Admin::Users::User', feature_category: :user_management do include Features::AdminUsersHelpers include Spec::Support::Helpers::ModalHelpers - let_it_be(:user) { create(:omniauth_user, provider: 'twitter', extern_uid: '123456') } - let_it_be(:current_user) { create(:admin) } + let_it_be(:user) { create(:omniauth_user, :no_super_sidebar, provider: 'twitter', extern_uid: '123456') } + let_it_be(:current_user) { create(:admin, :no_super_sidebar) } before do sign_in(current_user) @@ -145,7 +145,7 @@ RSpec.describe 'Admin::Users::User', feature_category: :user_management do end describe 'Impersonation' do - let_it_be(:another_user) { create(:user) } + let_it_be(:another_user) { create(:user, :no_super_sidebar) } context 'before impersonating' do subject { visit admin_user_path(user_to_visit) } @@ -156,7 +156,7 @@ RSpec.describe 'Admin::Users::User', feature_category: :user_management do it 'disables impersonate button' do subject - impersonate_btn = find('[data-testid="impersonate_user_link"]') + impersonate_btn = find('[data-testid="impersonate-user-link"]') expect(impersonate_btn).not_to be_nil expect(impersonate_btn['disabled']).not_to be_nil @@ -174,7 +174,7 @@ RSpec.describe 'Admin::Users::User', feature_category: :user_management do subject expect(page).to have_content('Impersonate') - impersonate_btn = find('[data-testid="impersonate_user_link"]') + impersonate_btn = find('[data-testid="impersonate-user-link"]') expect(impersonate_btn['disabled']).to be_nil end end diff --git a/spec/features/admin/users/users_spec.rb b/spec/features/admin/users/users_spec.rb index 8e80ce5edd9..8ee30c50a7d 100644 --- a/spec/features/admin/users/users_spec.rb +++ b/spec/features/admin/users/users_spec.rb @@ -350,7 +350,8 @@ RSpec.describe 'Admin::Users', feature_category: :user_management do let_it_be(:ghost_user) { create(:user, :ghost) } it 'does not render actions dropdown' do - expect(page).not_to have_css("[data-testid='user-actions-#{ghost_user.id}'] [data-testid='dropdown-toggle']") + expect(page).not_to have_css( + "[data-testid='user-actions-#{ghost_user.id}'] [data-testid='user-actions-dropdown-toggle']") end end @@ -358,7 +359,8 @@ RSpec.describe 'Admin::Users', feature_category: :user_management do let_it_be(:bot_user) { create(:user, user_type: :alert_bot) } it 'does not render actions dropdown' do - expect(page).not_to have_css("[data-testid='user-actions-#{bot_user.id}'] [data-testid='dropdown-toggle']") + expect(page).not_to have_css( + "[data-testid='user-actions-#{bot_user.id}'] [data-testid='user-actions-dropdown-toggle']") end end end |