Skip to content
Snippets Groups Projects

[Feature flag] Cleanup super_sidebar_nav feature flag

Merged Thomas Hutterer requested to merge 381456-ff-cleanup into master
All threads resolved!
1 file
+ 30
51
Compare changes
  • Side-by-side
  • Inline
@@ -11,70 +11,49 @@
@@ -11,70 +11,49 @@
visit explore_projects_path
visit explore_projects_path
end
end
context 'with feature flag off' do
context 'when user has new nav disabled' do
let(:new_nav_ff) { false }
let(:user_preference) { false }
where(:user_preference) do
it 'allows to enable new nav', :aggregate_failures do
[true, false]
within '.js-nav-user-dropdown' do
end
find('a[data-toggle="dropdown"]').click
 
expect(page).to have_content('Navigation redesign')
with_them do
toggle = page.find('.gl-toggle:not(.is-checked)')
it 'shows old topbar user dropdown with no way to toggle to new nav' do
toggle.click # reloads the page
within '.js-header-content .js-nav-user-dropdown' do
find('a[data-toggle="dropdown"]').click
expect(page).not_to have_content('Navigation redesign')
end
end
end
end
end
context 'with feature flag on' do
let(:new_nav_ff) { true }
context 'when user has new nav disabled' do
wait_for_requests
let(:user_preference) { false }
it 'allows to enable new nav', :aggregate_failures do
expect(user.reload.use_new_navigation).to eq true
within '.js-nav-user-dropdown' do
end
find('a[data-toggle="dropdown"]').click
expect(page).to have_content('Navigation redesign')
toggle = page.find('.gl-toggle:not(.is-checked)')
toggle.click # reloads the page
end
wait_for_requests
expect(user.reload.use_new_navigation).to eq true
end
it 'shows the old navigation' do
it 'shows the old navigation' do
expect(page).to have_selector('.js-navbar')
expect(page).to have_selector('.js-navbar')
expect(page).not_to have_selector('[data-testid="super-sidebar"]')
expect(page).not_to have_selector('[data-testid="super-sidebar"]')
end
end
end
 
end
context 'when user has new nav enabled' do
context 'when user has new nav enabled' do
let(:user_preference) { true }
let(:user_preference) { true }
it 'allows to disable new nav', :aggregate_failures do
it 'allows to disable new nav', :aggregate_failures do
within '[data-testid="super-sidebar"] [data-testid="user-dropdown"]' do
within '[data-testid="super-sidebar"] [data-testid="user-dropdown"]' do
click_button "#{user.name} user’s menu"
click_button "#{user.name} user’s menu"
expect(page).to have_content('Navigation redesign')
expect(page).to have_content('Navigation redesign')
toggle = page.find('.gl-toggle.is-checked')
toggle = page.find('.gl-toggle.is-checked')
toggle.click # reloads the page
toggle.click # reloads the page
end
end
wait_for_requests
wait_for_requests
expect(user.reload.use_new_navigation).to eq false
expect(user.reload.use_new_navigation).to eq false
end
end
it 'shows the new navigation' do
it 'shows the new navigation' do
expect(page).not_to have_selector('.js-navbar')
expect(page).not_to have_selector('.js-navbar')
expect(page).to have_selector('[data-testid="super-sidebar"]')
expect(page).to have_selector('[data-testid="super-sidebar"]')
end
end
end
end
end
end
end
Loading