diff --git a/spec/features/nav/pinned_nav_items_spec.rb b/spec/features/nav/pinned_nav_items_spec.rb index 74dfe572149467332dac7c4322502daba846bb9d..24f32e06ecf45a6a3897d520db67686bd4d5a1e7 100644 --- a/spec/features/nav/pinned_nav_items_spec.rb +++ b/spec/features/nav/pinned_nav_items_spec.rb @@ -4,7 +4,7 @@ RSpec.describe 'Navigation menu item pinning', :js, feature_category: :navigation do let_it_be(:user) { create(:user) } - let_it_be(:project) { create(:project) } + let_it_be(:project) { create(:project, developers: user) } before do sign_in(user) @@ -15,13 +15,11 @@ visit explore_projects_path end - it 'does not show the Pinned section' do + it 'does not show the Pinned section nor buttons to pin items' do within '#super-sidebar' do expect(page).not_to have_content 'Pinned' end - end - it 'does not show the buttons to pin items' do within '#super-sidebar' do expect(page).not_to have_css 'button svg[data-testid="thumbtack-icon"]' end @@ -30,7 +28,6 @@ describe 'pinnable navigation menu' do before do - project.add_member(user, :owner) visit project_path(project) end @@ -115,13 +112,13 @@ it 'can be reordered' do within_testid 'pinned-nav-items' do - pinned_items = page.find_all('a').map(&:text) + pinned_items = page.find_all('a', wait: false).map(&:text) item2 = page.find('a', text: 'Terraform states') item3 = page.find('a', text: 'Terraform modules') expect(pinned_items[1..2]).to eq [item2.text, item3.text] drag_item(item3, to: item2) - pinned_items = page.find_all('a').map(&:text) + pinned_items = page.find_all('a', wait: false).map(&:text) expect(pinned_items[1..2]).to eq [item3.text, item2.text] end end @@ -129,13 +126,10 @@ end describe 'reordering pins with hidden pins from non-available features' do - let_it_be(:project_with_repo) { create(:project, :repository) } - let_it_be(:project_without_repo) { create(:project, :repository_disabled) } + let_it_be(:project_with_repo) { create(:project, :repository, developers: user) } + let_it_be(:project_without_repo) { create(:project, :repository_disabled, developers: user) } before do - project_with_repo.add_member(user, :owner) - project_without_repo.add_member(user, :owner) - visit project_path(project_with_repo) within '#super-sidebar' do click_on 'Code' @@ -157,7 +151,7 @@ it 'keeps pins of non-available features' do within_testid 'pinned-nav-items' do - pinned_items = page.find_all('a') + pinned_items = page.find_all('a', wait: false) .map(&:text) .map { |text| text.split("\n").first } # to drop the counter badge text from "Issues\n0" expect(pinned_items).to eq ["Issues", "Merge requests", "Commits", "Members", "Activity"] @@ -178,13 +172,11 @@ end end - it 'shows the Pinned section as expanded' do + it 'shows the Pinned section as expanded and the original section as collapsed' do within_testid 'pinned-nav-items' do expect(page).to have_link 'Issues' end - end - it 'shows the original section as collapsed' do within '#menu-section-button-plan' do expect(page).not_to have_link 'Issues' end @@ -201,13 +193,10 @@ end end - it 'shows the Pinned section as collapsed' do + it 'shows the Pinned section as collapsed and the original section as expanded' do within '#menu-section-button-plan' do expect(page).not_to have_link 'Issues' end - end - - it 'shows the original section as expanded' do within '#super-sidebar #plan' do expect(page).to have_link 'Issues' end diff --git a/spec/features/projects/user_sees_sidebar_spec.rb b/spec/features/projects/user_sees_sidebar_spec.rb index 88c16ab4c9f4038428bd2432e5d81884b1994ceb..faf62187a18219ae1e7ee2158f1a0b8461f0180a 100644 --- a/spec/features/projects/user_sees_sidebar_spec.rb +++ b/spec/features/projects/user_sees_sidebar_spec.rb @@ -15,22 +15,18 @@ end shared_examples 'has an expanded nav sidebar' do - it 'has an expanded nav sidebar on load' do + it 'has an expanded nav sidebar on load that can be collapsed' do expect(page).to have_selector('[data-testid="super-sidebar-collapse-button"]', visible: :visible) - end - it 'can collapse the nav sidebar' do find_by_testid('super-sidebar-collapse-button').click expect(page).to have_selector('[data-testid="super-sidebar-collapse-button"]', visible: :hidden) end end shared_examples 'has a collapsed nav sidebar' do - it 'has a collapsed nav sidebar on load' do + it 'has a collapsed nav sidebar on load that can be expanded' do expect(page).to have_selector('[data-testid="super-sidebar-collapse-button"]', visible: :hidden) - end - it 'can expand the nav sidebar' do page.find('.js-super-sidebar-toggle-expand').click expect(page).to have_selector('[data-testid="super-sidebar-collapse-button"]', visible: :visible) end