diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 18:25:58 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 18:25:58 +0000 |
commit | a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch) | |
tree | fb69158581673816a8cd895f9d352dcb3c678b1e /spec/features/admin/admin_mode_spec.rb | |
parent | d16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff) | |
download | gitlab-ce-14.0.0-rc42.tar.gz |
Add latest changes from gitlab-org/gitlab@14-0-stable-eev14.0.0-rc42
Diffstat (limited to 'spec/features/admin/admin_mode_spec.rb')
-rw-r--r-- | spec/features/admin/admin_mode_spec.rb | 77 |
1 files changed, 34 insertions, 43 deletions
diff --git a/spec/features/admin/admin_mode_spec.rb b/spec/features/admin/admin_mode_spec.rb index 4df035b13e8..9fd83f4af6d 100644 --- a/spec/features/admin/admin_mode_spec.rb +++ b/spec/features/admin/admin_mode_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' RSpec.describe 'Admin mode' do include MobileHelpers + include Spec::Support::Helpers::Features::TopNavSpecHelpers include StubENV let(:admin) { create(:admin) } @@ -21,6 +22,7 @@ RSpec.describe 'Admin mode' do context 'when not in admin mode' do it 'has no leave admin mode button' do visit new_admin_session_path + open_top_nav page.within('.navbar-sub-nav') do expect(page).not_to have_link(href: destroy_admin_session_path) @@ -28,12 +30,11 @@ RSpec.describe 'Admin mode' do end it 'can open pages not in admin scope' do - pending_on_combined_menu_flag - visit new_admin_session_path + open_top_nav_projects - page.within('.navbar-sub-nav') do - find_all('a', text: 'Projects').first.click + within_top_nav do + click_link('Your projects') end expect(page).to have_current_path(dashboard_projects_path) @@ -78,71 +79,66 @@ RSpec.describe 'Admin mode' do end it 'contains link to leave admin mode' do - pending_on_combined_menu_flag + open_top_nav - page.within('.navbar-sub-nav') do + within_top_nav do expect(page).to have_link(href: destroy_admin_session_path) end end it 'can leave admin mode using main dashboard link', :js do - pending_on_combined_menu_flag + gitlab_disable_admin_mode - page.within('.navbar-sub-nav') do - click_on 'Leave Admin Mode' + open_top_nav + within_top_nav do expect(page).to have_link(href: new_admin_session_path) end end it 'can leave admin mode using dropdown menu on smaller screens', :js do - pending_on_combined_menu_flag + skip('pending responsive development under :combined_menu feature flag') if Feature.enabled?(:combined_menu, default_enabled: :yaml) resize_screen_xs visit root_dashboard_path - find('.header-more').click + find('.header-more').click unless Feature.enabled?(:combined_menu, default_enabled: :yaml) - page.within '.navbar-sub-nav' do - click_on 'Leave Admin Mode' + gitlab_disable_admin_mode - find('.header-more').click + open_top_nav + find('.header-more').click unless Feature.enabled?(:combined_menu, default_enabled: :yaml) - expect(page).to have_link(href: new_admin_session_path) - end + expect(page).to have_link(href: new_admin_session_path) end it 'can open pages not in admin scope' do - pending_on_combined_menu_flag - - page.within('.navbar-sub-nav') do - find_all('a', text: 'Projects').first.click + open_top_nav_projects - expect(page).to have_current_path(dashboard_projects_path) + within_top_nav do + click_link('Your projects') end + + expect(page).to have_current_path(dashboard_projects_path) end context 'nav bar' do it 'shows admin dashboard links on bigger screen' do - pending_on_combined_menu_flag - visit root_dashboard_path + open_top_nav - page.within '.navbar' do - expect(page).to have_link(text: 'Admin Area', href: admin_root_path, visible: true) - expect(page).to have_link(text: 'Leave Admin Mode', href: destroy_admin_session_path, visible: true) - end + link_text = Feature.enabled?(:combined_menu, default_enabled: :yaml) ? 'Admin' : 'Admin Area' + expect(page).to have_link(text: link_text, href: admin_root_path, visible: true) + expect(page).to have_link(text: 'Leave Admin Mode', href: destroy_admin_session_path, visible: true) end it 'relocates admin dashboard links to dropdown list on smaller screen', :js do - pending_on_combined_menu_flag + skip('pending responsive development under :combined_menu feature flag') if Feature.enabled?(:combined_menu, default_enabled: :yaml) resize_screen_xs visit root_dashboard_path - page.within '.navbar' do - expect(page).not_to have_link(text: 'Leave Admin Mode', href: destroy_admin_session_path, visible: true) - end + expect(page).not_to have_link(text: 'Leave Admin Mode', href: destroy_admin_session_path, visible: true) find('.header-more').click @@ -159,11 +155,11 @@ RSpec.describe 'Admin mode' do end it 'can leave admin mode', :js do - pending_on_combined_menu_flag + gitlab_disable_admin_mode - page.within('.navbar-sub-nav') do - click_on 'Leave Admin Mode' + open_top_nav + within_top_nav do expect(page).to have_link(href: new_admin_session_path) end end @@ -179,16 +175,15 @@ RSpec.describe 'Admin mode' do it 'shows no admin mode buttons in navbar' do visit admin_root_path + open_top_nav - page.within('.navbar-sub-nav') do - expect(page).not_to have_link(href: new_admin_session_path) - expect(page).not_to have_link(href: destroy_admin_session_path) - end + expect(page).not_to have_link(href: new_admin_session_path) + expect(page).not_to have_link(href: destroy_admin_session_path) end end end - context 'with combined_menu: feature flag on' do + context 'with combined_menu feature flag on', :js do let(:needs_rewrite_for_combined_menu_flag_on) { true } before do @@ -207,8 +202,4 @@ RSpec.describe 'Admin mode' do it_behaves_like 'combined_menu: feature flag examples' end - - def pending_on_combined_menu_flag - pending 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56587' if needs_rewrite_for_combined_menu_flag_on - end end |