From 176525e35ff027862507f6083e9981c46e4d6911 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Mon, 20 Oct 2025 14:36:39 +0200 Subject: [PATCH 01/12] Fix "Work Items" duplication from sidebar Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/554235 Changelog: added --- app/helpers/sidebars_helper.rb | 6 +++++- ee/app/helpers/ee/sidebars_helper.rb | 11 +++++++++++ ee/spec/helpers/ee/sidebars_helper_spec.rb | 6 +++--- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb index 0d4dd17895ccd3..0af15f8e0bc986 100644 --- a/app/helpers/sidebars_helper.rb +++ b/app/helpers/sidebars_helper.rb @@ -106,7 +106,7 @@ def super_sidebar_logged_in_context(user, group:, project:, panel:, panel_type:) gitlab_com_and_canary: Gitlab.com_and_canary?, canary_toggle_com_url: Gitlab::Saas.canary_toggle_com_url, current_context: super_sidebar_current_context(project: project, group: group), - pinned_items: user.pinned_nav_items[panel_type] || super_sidebar_default_pins(panel_type, user), + pinned_items: pinned_nav_items(user, panel_type), update_pins_url: pins_path, is_impersonating: impersonating?, stop_impersonation_path: admin_impersonation_path, @@ -433,6 +433,10 @@ def shortcut_links(user: nil, project: nil) shortcut_links end + def pinned_nav_items(user, panel_type) + user.pinned_nav_items[panel_type] || super_sidebar_default_pins(panel_type, user) + end + def super_sidebar_default_pins(panel_type, user) case panel_type when 'project' diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index c767fec38a69e7..9b6156becec758 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -97,6 +97,17 @@ def user_in_experiment(user) end end + # Avoid duplicating "Work Items" on the frontend now that + # :group_issue_list and :group_epic_list are translated in the frontend. + override :project_default_pins + def pinned_nav_items(user, panel_type) + items = super + + return items unless items.include?(:group_issue_list) + + items.excluding(:group_epic_list) + end + override :project_default_pins def project_default_pins(user) return super unless user_in_experiment(user) diff --git a/ee/spec/helpers/ee/sidebars_helper_spec.rb b/ee/spec/helpers/ee/sidebars_helper_spec.rb index 5166db7dc0679d..7f6414beeafbe7 100644 --- a/ee/spec/helpers/ee/sidebars_helper_spec.rb +++ b/ee/spec/helpers/ee/sidebars_helper_spec.rb @@ -328,7 +328,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list group_epic_list]) + expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list]) end it 'returns "project" default pins' do @@ -354,7 +354,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[members group_issue_list group_merge_request_list group_epic_list]) + expect(result).to include(pinned_items: %i[members group_issue_list group_merge_request_list]) end it 'returns "project" default pins' do @@ -389,7 +389,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list group_epic_list]) + expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list]) end it 'returns control "project" pins' do -- GitLab From a76848170bed7995efb48a605f959deccf0d2eff Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Mon, 20 Oct 2025 14:44:02 +0200 Subject: [PATCH 02/12] fix bad copy and paste --- ee/app/helpers/ee/sidebars_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index 9b6156becec758..e0d835da4d823e 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -99,7 +99,7 @@ def user_in_experiment(user) # Avoid duplicating "Work Items" on the frontend now that # :group_issue_list and :group_epic_list are translated in the frontend. - override :project_default_pins + override :pinned_nav_items def pinned_nav_items(user, panel_type) items = super -- GitLab From c4c25ff8b26f9a2d4b8e1e6b1dfa71b29f84108f Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 09:30:08 +0200 Subject: [PATCH 03/12] Simplify the logic --- ee/app/helpers/ee/sidebars_helper.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index e0d835da4d823e..f3ba1d23988859 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -101,11 +101,7 @@ def user_in_experiment(user) # :group_issue_list and :group_epic_list are translated in the frontend. override :pinned_nav_items def pinned_nav_items(user, panel_type) - items = super - - return items unless items.include?(:group_issue_list) - - items.excluding(:group_epic_list) + super.excluding(:group_epic_list) end override :project_default_pins -- GitLab From 5fd50a23f7c1b1246db7ad1e94bfc75c448b6a12 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 09:40:39 +0200 Subject: [PATCH 04/12] Revert "Simplify the logic" This reverts commit 3f46267207709f48f774c222996ec5fc8bbad4a3. --- ee/app/helpers/ee/sidebars_helper.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index f3ba1d23988859..e0d835da4d823e 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -101,7 +101,11 @@ def user_in_experiment(user) # :group_issue_list and :group_epic_list are translated in the frontend. override :pinned_nav_items def pinned_nav_items(user, panel_type) - super.excluding(:group_epic_list) + items = super + + return items unless items.include?(:group_issue_list) + + items.excluding(:group_epic_list) end override :project_default_pins -- GitLab From 9b2198a43eb52b27b860a702cb962aaf7e4b96bb Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 10:59:53 +0200 Subject: [PATCH 05/12] Fix logic and add tests --- ee/app/helpers/ee/sidebars_helper.rb | 10 ++++--- ee/spec/helpers/ee/sidebars_helper_spec.rb | 33 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index e0d835da4d823e..a4c6cd6ce37251 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -101,11 +101,13 @@ def user_in_experiment(user) # :group_issue_list and :group_epic_list are translated in the frontend. override :pinned_nav_items def pinned_nav_items(user, panel_type) - items = super + items = super.map(&:to_sym) - return items unless items.include?(:group_issue_list) - - items.excluding(:group_epic_list) + if items.include?(:group_issue_list) && items.include?(:group_epic_list) + items.excluding(:group_epic_list) + else + items + end end override :project_default_pins diff --git a/ee/spec/helpers/ee/sidebars_helper_spec.rb b/ee/spec/helpers/ee/sidebars_helper_spec.rb index 7f6414beeafbe7..3cb89eadbe0b4d 100644 --- a/ee/spec/helpers/ee/sidebars_helper_spec.rb +++ b/ee/spec/helpers/ee/sidebars_helper_spec.rb @@ -305,6 +305,39 @@ end end + context 'when user pinned multiple work items types' do + using RSpec::Parameterized::TableSyntax + + let_it_be(:panel_type) { 'group' } + + where(:pinned_items, :result) do + nil | %i[group_issue_list group_merge_request_list] + %i[group_issue_list] | %i[group_issue_list] + %i[group_epic_list] | %i[group_epic_list] + %i[group_issue_list group_epic_list] | %i[group_issue_list] + end + + with_them do + it 'foo' do + user = build_stubbed( + :user, + namespace: user_namespace, + pinned_nav_items: { panel_type => pinned_items } + ) + + sidebar = helper.super_sidebar_logged_in_context( + user, + group: nil, + project: nil, + panel: panel, + panel_type: panel_type + ) + + expect(sidebar[:pinned_items]).to eq(result) + end + end + end + describe '#super_sidebar_default_pins', :experiment do let_it_be(:user) do build(:user) do |u| -- GitLab From b9363dd861f9aa66ce40fd680452e5b7b908fc48 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 11:40:56 +0200 Subject: [PATCH 06/12] Use strings everywhere to avoid erros on tests --- app/helpers/sidebars_helper.rb | 11 ++++++----- ee/app/helpers/ee/sidebars_helper.rb | 16 ++++++++-------- ee/spec/helpers/ee/sidebars_helper_spec.rb | 22 +++++++++++----------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb index 0af15f8e0bc986..e8a4a767254d6e 100644 --- a/app/helpers/sidebars_helper.rb +++ b/app/helpers/sidebars_helper.rb @@ -106,7 +106,7 @@ def super_sidebar_logged_in_context(user, group:, project:, panel:, panel_type:) gitlab_com_and_canary: Gitlab.com_and_canary?, canary_toggle_com_url: Gitlab::Saas.canary_toggle_com_url, current_context: super_sidebar_current_context(project: project, group: group), - pinned_items: pinned_nav_items(user, panel_type), + pinned_items: pinned_items(user, panel_type), update_pins_url: pins_path, is_impersonating: impersonating?, stop_impersonation_path: admin_impersonation_path, @@ -433,8 +433,9 @@ def shortcut_links(user: nil, project: nil) shortcut_links end - def pinned_nav_items(user, panel_type) - user.pinned_nav_items[panel_type] || super_sidebar_default_pins(panel_type, user) + def pinned_items(user, panel_type) + user.pinned_nav_items[panel_type]&.map(&:to_s) || + super_sidebar_default_pins(panel_type, user) end def super_sidebar_default_pins(panel_type, user) @@ -449,11 +450,11 @@ def super_sidebar_default_pins(panel_type, user) end def project_default_pins(_user) - [:project_issue_list, :project_merge_request_list] + %w[project_issue_list project_merge_request_list] end def group_default_pins(_user) - [:group_issue_list, :group_merge_request_list] + %w[group_issue_list group_merge_request_list] end def terms_link diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index a4c6cd6ce37251..6f291a8732fcdf 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -99,12 +99,12 @@ def user_in_experiment(user) # Avoid duplicating "Work Items" on the frontend now that # :group_issue_list and :group_epic_list are translated in the frontend. - override :pinned_nav_items - def pinned_nav_items(user, panel_type) - items = super.map(&:to_sym) + override :pinned_items + def pinned_items(user, panel_type) + items = super - if items.include?(:group_issue_list) && items.include?(:group_epic_list) - items.excluding(:group_epic_list) + if items.include?("group_issue_list") && items.include?("group_epic_list") + items.excluding("group_epic_list") else items end @@ -114,14 +114,14 @@ def pinned_nav_items(user, panel_type) def project_default_pins(user) return super unless user_in_experiment(user) - %i[files pipelines members project_merge_request_list project_issue_list] + %w[files pipelines members project_merge_request_list project_issue_list] end override :group_default_pins def group_default_pins(user) - return super + [:group_epic_list] unless user_in_experiment(user) + return super + %w[group_epic_list] unless user_in_experiment(user) - %i[members group_issue_list group_merge_request_list group_epic_list] + %w[members group_issue_list group_merge_request_list group_epic_list] end end end diff --git a/ee/spec/helpers/ee/sidebars_helper_spec.rb b/ee/spec/helpers/ee/sidebars_helper_spec.rb index 3cb89eadbe0b4d..984d7aeda6316e 100644 --- a/ee/spec/helpers/ee/sidebars_helper_spec.rb +++ b/ee/spec/helpers/ee/sidebars_helper_spec.rb @@ -311,14 +311,14 @@ let_it_be(:panel_type) { 'group' } where(:pinned_items, :result) do - nil | %i[group_issue_list group_merge_request_list] - %i[group_issue_list] | %i[group_issue_list] - %i[group_epic_list] | %i[group_epic_list] - %i[group_issue_list group_epic_list] | %i[group_issue_list] + nil | %w[group_issue_list group_merge_request_list] + %w[group_issue_list] | %w[group_issue_list] + %w[group_epic_list] | %w[group_epic_list] + %w[group_issue_list group_epic_list] | %w[group_issue_list] end with_them do - it 'foo' do + it 'ensure to avoid duplicated work items on pinned menu' do user = build_stubbed( :user, namespace: user_namespace, @@ -361,7 +361,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list]) + expect(result).to include(pinned_items: %w[group_issue_list group_merge_request_list]) end it 'returns "project" default pins' do @@ -370,7 +370,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[project_issue_list project_merge_request_list]) + expect(result).to include(pinned_items: %w[project_issue_list project_merge_request_list]) end end @@ -387,7 +387,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[members group_issue_list group_merge_request_list]) + expect(result).to include(pinned_items: %w[members group_issue_list group_merge_request_list]) end it 'returns "project" default pins' do @@ -396,7 +396,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[files pipelines members project_merge_request_list + expect(result).to include(pinned_items: %w[files pipelines members project_merge_request_list project_issue_list]) end end @@ -422,7 +422,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[group_issue_list group_merge_request_list]) + expect(result).to include(pinned_items: %w[group_issue_list group_merge_request_list]) end it 'returns control "project" pins' do @@ -431,7 +431,7 @@ result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, panel_type: panel_type) - expect(result).to include(pinned_items: %i[project_issue_list project_merge_request_list]) + expect(result).to include(pinned_items: %w[project_issue_list project_merge_request_list]) end end end -- GitLab From 33c7894e33f89a51791b5aa44230695c3aa788e6 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 15:27:33 +0200 Subject: [PATCH 07/12] Only remove the duplication when work_item_planning_view feature flag is enabled --- ee/app/helpers/ee/sidebars_helper.rb | 2 ++ ee/spec/helpers/ee/sidebars_helper_spec.rb | 24 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index 6f291a8732fcdf..4dedfb8cbafd24 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -103,6 +103,8 @@ def user_in_experiment(user) def pinned_items(user, panel_type) items = super + return items unless ::Feature.enabled?(:work_item_planning_view, user) + if items.include?("group_issue_list") && items.include?("group_epic_list") items.excluding("group_epic_list") else diff --git a/ee/spec/helpers/ee/sidebars_helper_spec.rb b/ee/spec/helpers/ee/sidebars_helper_spec.rb index 984d7aeda6316e..1395d48b0f3609 100644 --- a/ee/spec/helpers/ee/sidebars_helper_spec.rb +++ b/ee/spec/helpers/ee/sidebars_helper_spec.rb @@ -310,6 +310,30 @@ let_it_be(:panel_type) { 'group' } + context 'when work_item_planning_view feature flag is disabled' do + it 'ensure permits epics and issues on the side menu' do + stub_feature_flags(work_item_planning_view: false) + + pinned_items = %w[group_issue_list group_epic_list] + + user = build_stubbed( + :user, + namespace: user_namespace, + pinned_nav_items: { panel_type => pinned_items } + ) + + sidebar = helper.super_sidebar_logged_in_context( + user, + group: nil, + project: nil, + panel: panel, + panel_type: panel_type + ) + + expect(sidebar[:pinned_items]).to eq(pinned_items) + end + end + where(:pinned_items, :result) do nil | %w[group_issue_list group_merge_request_list] %w[group_issue_list] | %w[group_issue_list] -- GitLab From 65946d2d6be19f5e538657f47e8ac276fc95ec24 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 15:35:33 +0200 Subject: [PATCH 08/12] Fix logic of the feature flag check --- app/helpers/sidebars_helper.rb | 5 +++-- ee/app/helpers/ee/sidebars_helper.rb | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb index e8a4a767254d6e..e3c586f0ae22f4 100644 --- a/app/helpers/sidebars_helper.rb +++ b/app/helpers/sidebars_helper.rb @@ -106,7 +106,7 @@ def super_sidebar_logged_in_context(user, group:, project:, panel:, panel_type:) gitlab_com_and_canary: Gitlab.com_and_canary?, canary_toggle_com_url: Gitlab::Saas.canary_toggle_com_url, current_context: super_sidebar_current_context(project: project, group: group), - pinned_items: pinned_items(user, panel_type), + pinned_items: pinned_items(user, panel_type, group: group), update_pins_url: pins_path, is_impersonating: impersonating?, stop_impersonation_path: admin_impersonation_path, @@ -433,7 +433,8 @@ def shortcut_links(user: nil, project: nil) shortcut_links end - def pinned_items(user, panel_type) + # overridden on EE + def pinned_items(user, panel_type, group: nil) user.pinned_nav_items[panel_type]&.map(&:to_s) || super_sidebar_default_pins(panel_type, user) end diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index 4dedfb8cbafd24..eef664a13e5430 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -100,10 +100,10 @@ def user_in_experiment(user) # Avoid duplicating "Work Items" on the frontend now that # :group_issue_list and :group_epic_list are translated in the frontend. override :pinned_items - def pinned_items(user, panel_type) + def pinned_items(user, panel_type, group: nil) items = super - return items unless ::Feature.enabled?(:work_item_planning_view, user) + return items unless ::Feature.enabled?(:work_item_planning_view, group) if items.include?("group_issue_list") && items.include?("group_epic_list") items.excluding("group_epic_list") -- GitLab From 6bc04550fec2efb42f866cc51920b4d6adfc12da Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Tue, 21 Oct 2025 16:24:00 +0200 Subject: [PATCH 09/12] Fix rubocop - unused param --- app/helpers/sidebars_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb index e3c586f0ae22f4..eed0afbdb80fad 100644 --- a/app/helpers/sidebars_helper.rb +++ b/app/helpers/sidebars_helper.rb @@ -434,7 +434,7 @@ def shortcut_links(user: nil, project: nil) end # overridden on EE - def pinned_items(user, panel_type, group: nil) + def pinned_items(user, panel_type, _group: nil) user.pinned_nav_items[panel_type]&.map(&:to_s) || super_sidebar_default_pins(panel_type, user) end -- GitLab From fa554e42eee57ea32569238e542751190b8c83ba Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Wed, 22 Oct 2025 10:35:41 +0200 Subject: [PATCH 10/12] Fix rubocop, the right way --- app/helpers/sidebars_helper.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb index eed0afbdb80fad..37152fba98e652 100644 --- a/app/helpers/sidebars_helper.rb +++ b/app/helpers/sidebars_helper.rb @@ -434,10 +434,12 @@ def shortcut_links(user: nil, project: nil) end # overridden on EE - def pinned_items(user, panel_type, _group: nil) + # rubocop:disable Lint/UnusedMethodArgument -- group is used on EE + def pinned_items(user, panel_type, group: nil) user.pinned_nav_items[panel_type]&.map(&:to_s) || super_sidebar_default_pins(panel_type, user) end + # rubocop:enable Lint/UnusedMethodArgument def super_sidebar_default_pins(panel_type, user) case panel_type -- GitLab From 01f086595e6e423ad3a91062bbc44c597122fd48 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Wed, 22 Oct 2025 10:35:50 +0200 Subject: [PATCH 11/12] Use the right feature check --- ee/app/helpers/ee/sidebars_helper.rb | 2 +- ee/spec/helpers/ee/sidebars_helper_spec.rb | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ee/app/helpers/ee/sidebars_helper.rb b/ee/app/helpers/ee/sidebars_helper.rb index eef664a13e5430..53469e2a4a9fa3 100644 --- a/ee/app/helpers/ee/sidebars_helper.rb +++ b/ee/app/helpers/ee/sidebars_helper.rb @@ -103,7 +103,7 @@ def user_in_experiment(user) def pinned_items(user, panel_type, group: nil) items = super - return items unless ::Feature.enabled?(:work_item_planning_view, group) + return items unless group&.work_items_consolidated_list_enabled? if items.include?("group_issue_list") && items.include?("group_epic_list") items.excluding("group_epic_list") diff --git a/ee/spec/helpers/ee/sidebars_helper_spec.rb b/ee/spec/helpers/ee/sidebars_helper_spec.rb index 1395d48b0f3609..0b5476ef9fdbcc 100644 --- a/ee/spec/helpers/ee/sidebars_helper_spec.rb +++ b/ee/spec/helpers/ee/sidebars_helper_spec.rb @@ -6,6 +6,7 @@ include Devise::Test::ControllerHelpers describe '#super_sidebar_context' do + let(:group) { build_stubbed(:group) } let(:user_namespace) { build_stubbed(:namespace) } let(:user) { build_stubbed(:user, namespace: user_namespace) } let(:panel) { {} } @@ -324,7 +325,7 @@ sidebar = helper.super_sidebar_logged_in_context( user, - group: nil, + group: group, project: nil, panel: panel, panel_type: panel_type @@ -351,7 +352,7 @@ sidebar = helper.super_sidebar_logged_in_context( user, - group: nil, + group: group, project: nil, panel: panel, panel_type: panel_type @@ -363,7 +364,7 @@ end describe '#super_sidebar_default_pins', :experiment do - let_it_be(:user) do + let(:user) do build(:user) do |u| u.user_detail.update!(onboarding_status: { registration_type: 'trial', @@ -382,7 +383,7 @@ it 'returns "group" default pins' do panel_type = 'group' - result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, + result = helper.super_sidebar_logged_in_context(user, group: group, project: nil, panel: panel, panel_type: panel_type) expect(result).to include(pinned_items: %w[group_issue_list group_merge_request_list]) @@ -408,7 +409,7 @@ it 'returns "group" default pins' do panel_type = 'group' - result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, + result = helper.super_sidebar_logged_in_context(user, group: group, project: nil, panel: panel, panel_type: panel_type) expect(result).to include(pinned_items: %w[members group_issue_list group_merge_request_list]) @@ -443,7 +444,7 @@ it 'returns control "group" pins' do panel_type = 'group' - result = helper.super_sidebar_logged_in_context(user, group: nil, project: nil, panel: panel, + result = helper.super_sidebar_logged_in_context(user, group: group, project: nil, panel: panel, panel_type: panel_type) expect(result).to include(pinned_items: %w[group_issue_list group_merge_request_list]) -- GitLab From 271033795614fd2975c2c6b7c66ba90d798e3a46 Mon Sep 17 00:00:00 2001 From: Kassio Borges Date: Wed, 22 Oct 2025 14:03:36 +0200 Subject: [PATCH 12/12] fix end to end tests --- ee/spec/features/nav/pinned_nav_items_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ee/spec/features/nav/pinned_nav_items_spec.rb b/ee/spec/features/nav/pinned_nav_items_spec.rb index eb7ce7a49ad9c9..b9c39541e4ef36 100644 --- a/ee/spec/features/nav/pinned_nav_items_spec.rb +++ b/ee/spec/features/nav/pinned_nav_items_spec.rb @@ -29,7 +29,7 @@ visit group_path(group) within_testid 'pinned-nav-items' do - nav_ids = %i[members group_issue_list group_merge_request_list group_epic_list] + nav_ids = %i[members group_issue_list group_merge_request_list] nav_ids.each { |nav_id| expect(page).to have_css("a[data-track-label='#{nav_id}']") } end end @@ -39,7 +39,7 @@ visit group_path(group) within_testid 'pinned-nav-items' do - nav_ids = %i[group_issue_list group_merge_request_list group_epic_list] + nav_ids = %i[group_issue_list group_merge_request_list] nav_ids.each { |nav_id| expect(page).to have_css("a[data-track-label='#{nav_id}']") } end end -- GitLab