diff options
Diffstat (limited to 'spec/features/frequently_visited_projects_and_groups_spec.rb')
-rw-r--r-- | spec/features/frequently_visited_projects_and_groups_spec.rb | 72 |
1 files changed, 25 insertions, 47 deletions
diff --git a/spec/features/frequently_visited_projects_and_groups_spec.rb b/spec/features/frequently_visited_projects_and_groups_spec.rb index 5ea42ce39e3..6bc3b745851 100644 --- a/spec/features/frequently_visited_projects_and_groups_spec.rb +++ b/spec/features/frequently_visited_projects_and_groups_spec.rb @@ -7,67 +7,45 @@ RSpec.describe 'Frequently visited items', :js do let_it_be(:user) { create(:user) } - shared_examples 'combined_menu: feature flag examples' do - before do - sign_in(user) - end - - context 'for projects' do - let_it_be(:project) { create(:project, :public) } + before do + sign_in(user) + end - it 'increments localStorage counter when visiting the project' do - visit project_path(project) - open_top_nav_projects + context 'for projects' do + let_it_be(:project) { create(:project, :public) } - frequent_projects = nil + it 'increments localStorage counter when visiting the project' do + visit project_path(project) + open_top_nav_projects - wait_for('localStorage frequent-projects') do - frequent_projects = page.evaluate_script("localStorage['#{user.username}/frequent-projects']") + frequent_projects = nil - frequent_projects.present? - end + wait_for('localStorage frequent-projects') do + frequent_projects = page.evaluate_script("localStorage['#{user.username}/frequent-projects']") - expect(Gitlab::Json.parse(frequent_projects)).to contain_exactly(a_hash_including('id' => project.id, 'frequency' => 1)) + frequent_projects.present? end - end - - context 'for groups' do - let_it_be(:group) { create(:group, :public) } - - it 'increments localStorage counter when visiting the group' do - visit group_path(group) - open_top_nav_groups - - frequent_groups = nil - - wait_for('localStorage frequent-groups') do - frequent_groups = page.evaluate_script("localStorage['#{user.username}/frequent-groups']") - frequent_groups.present? - end - - expect(Gitlab::Json.parse(frequent_groups)).to contain_exactly(a_hash_including('id' => group.id, 'frequency' => 1)) - end + expect(Gitlab::Json.parse(frequent_projects)).to contain_exactly(a_hash_including('id' => project.id, 'frequency' => 1)) end end - context 'with combined_menu feature flag on' do - let(:needs_rewrite_for_combined_menu_flag_on) { true } + context 'for groups' do + let_it_be(:group) { create(:group, :public) } - before do - stub_feature_flags(combined_menu: true) - end + it 'increments localStorage counter when visiting the group' do + visit group_path(group) + open_top_nav_groups - it_behaves_like 'combined_menu: feature flag examples' - end + frequent_groups = nil - context 'with combined_menu feature flag off' do - let(:needs_rewrite_for_combined_menu_flag_on) { false } + wait_for('localStorage frequent-groups') do + frequent_groups = page.evaluate_script("localStorage['#{user.username}/frequent-groups']") - before do - stub_feature_flags(combined_menu: false) - end + frequent_groups.present? + end - it_behaves_like 'combined_menu: feature flag examples' + expect(Gitlab::Json.parse(frequent_groups)).to contain_exactly(a_hash_including('id' => group.id, 'frequency' => 1)) + end end end |