diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
commit | 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch) | |
tree | 5423a1c7516cffe36384133ade12572cf709398d /spec/features/frequently_visited_projects_and_groups_spec.rb | |
parent | e570267f2f6b326480d284e0164a6464ba4081bc (diff) |
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'spec/features/frequently_visited_projects_and_groups_spec.rb')
-rw-r--r-- | spec/features/frequently_visited_projects_and_groups_spec.rb | 76 |
1 files changed, 52 insertions, 24 deletions
diff --git a/spec/features/frequently_visited_projects_and_groups_spec.rb b/spec/features/frequently_visited_projects_and_groups_spec.rb index 6c25afdf6d4..9110c7ad65a 100644 --- a/spec/features/frequently_visited_projects_and_groups_spec.rb +++ b/spec/features/frequently_visited_projects_and_groups_spec.rb @@ -5,45 +5,73 @@ require 'spec_helper' RSpec.describe 'Frequently visited items', :js do let_it_be(:user) { create(:user) } - before do - stub_feature_flags(combined_menu: false) + shared_examples 'combined_menu: feature flag examples' do + before do + sign_in(user) + end - sign_in(user) - end + context 'for projects' do + let_it_be(:project) { create(:project, :public) } - context 'for projects' do - let_it_be(:project) { create(:project, :public) } + it 'increments localStorage counter when visiting the project' do + pending_on_combined_menu_flag - it 'increments localStorage counter when visiting the project' do - visit project_path(project) + visit project_path(project) - frequent_projects = nil + frequent_projects = nil - wait_for('localStorage frequent-projects') do - frequent_projects = page.evaluate_script("localStorage['#{user.username}/frequent-projects']") + wait_for('localStorage frequent-projects') do + frequent_projects = page.evaluate_script("localStorage['#{user.username}/frequent-projects']") - frequent_projects.present? - end + frequent_projects.present? + end - expect(Gitlab::Json.parse(frequent_projects)).to contain_exactly(a_hash_including('id' => project.id, 'frequency' => 1)) + expect(Gitlab::Json.parse(frequent_projects)).to contain_exactly(a_hash_including('id' => project.id, 'frequency' => 1)) + end end - end - context 'for groups' do - let_it_be(:group) { create(:group, :public) } + context 'for groups' do + let_it_be(:group) { create(:group, :public) } - it 'increments localStorage counter when visiting the group' do - visit group_path(group) + it 'increments localStorage counter when visiting the group' do + pending_on_combined_menu_flag - frequent_groups = nil + visit group_path(group) - wait_for('localStorage frequent-groups') do - frequent_groups = page.evaluate_script("localStorage['#{user.username}/frequent-groups']") + frequent_groups = nil - frequent_groups.present? + 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 + end + end - expect(Gitlab::Json.parse(frequent_groups)).to contain_exactly(a_hash_including('id' => group.id, 'frequency' => 1)) + context 'with combined_menu: feature flag on' do + let(:needs_rewrite_for_combined_menu_flag_on) { true } + + before do + stub_feature_flags(combined_menu: true) end + + it_behaves_like 'combined_menu: feature flag examples' + end + + context 'with combined_menu feature flag off' do + let(:needs_rewrite_for_combined_menu_flag_on) { false } + + before do + stub_feature_flags(combined_menu: false) + end + + 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 |