Commit 87115463 authored by David Kim's avatar David Kim

Merge branch '334247-hide-infrastructure-registry-when-package-feature-is-disabled' into 'master'

Hide infrastructure registry when package feature is disabled

See merge request gitlab-org/gitlab!67038
parents 02ce9400 59615089
...@@ -31,7 +31,7 @@ module Sidebars ...@@ -31,7 +31,7 @@ module Sidebars
private private
def packages_registry_menu_item def packages_registry_menu_item
if !::Gitlab.config.packages.enabled || !can?(context.current_user, :read_package, context.project) if packages_registry_disabled?
return ::Sidebars::NilMenuItem.new(item_id: :packages_registry) return ::Sidebars::NilMenuItem.new(item_id: :packages_registry)
end end
...@@ -58,7 +58,7 @@ module Sidebars ...@@ -58,7 +58,7 @@ module Sidebars
end end
def infrastructure_registry_menu_item def infrastructure_registry_menu_item
if Feature.disabled?(:infrastructure_registry_page, context.current_user, default_enabled: :yaml) if Feature.disabled?(:infrastructure_registry_page, context.current_user, default_enabled: :yaml) || packages_registry_disabled?
return ::Sidebars::NilMenuItem.new(item_id: :infrastructure_registry) return ::Sidebars::NilMenuItem.new(item_id: :infrastructure_registry)
end end
...@@ -69,6 +69,10 @@ module Sidebars ...@@ -69,6 +69,10 @@ module Sidebars
item_id: :infrastructure_registry item_id: :infrastructure_registry
) )
end end
def packages_registry_disabled?
!::Gitlab.config.packages.enabled || !can?(context.current_user, :read_package, context.project)
end
end end
end end
end end
......
...@@ -51,8 +51,8 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do ...@@ -51,8 +51,8 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do
context 'when Container Registry is not visible' do context 'when Container Registry is not visible' do
let(:registry_enabled) { false } let(:registry_enabled) { false }
it 'menu link points to Infrastructure Registry page' do it 'does not display menu link' do
expect(subject.link).to eq described_class.new(context).renderable_items.find { |i| i.item_id == :infrastructure_registry }.link expect(subject.render?).to eq false
end end
end end
end end
...@@ -130,10 +130,26 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do ...@@ -130,10 +130,26 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do
is_expected.not_to be_nil is_expected.not_to be_nil
end end
context 'when config package setting is disabled' do
it 'does not add the menu item to the list' do
stub_config(packages: { enabled: false })
is_expected.to be_nil
end
end
context 'when user cannot read packages' do
let(:user) { nil }
it 'does not add the menu item to the list' do
is_expected.to be_nil
end
end
end end
context 'when feature flag :infrastructure_registry_page is disabled' do context 'when feature flag :infrastructure_registry_page is disabled' do
it 'the menu item is not added to list of menu items' do it 'does not add the menu item to the list' do
stub_feature_flags(infrastructure_registry_page: false) stub_feature_flags(infrastructure_registry_page: false)
is_expected.to be_nil is_expected.to be_nil
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment