summaryrefslogtreecommitdiff
path: root/spec/lib/sidebars
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/sidebars')
-rw-r--r--spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb21
-rw-r--r--spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb10
-rw-r--r--spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb35
-rw-r--r--spec/lib/sidebars/groups/menus/settings_menu_spec.rb12
-rw-r--r--spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb8
-rw-r--r--spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb21
-rw-r--r--spec/lib/sidebars/projects/menus/project_information_menu_spec.rb6
7 files changed, 84 insertions, 29 deletions
diff --git a/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb b/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb
deleted file mode 100644
index 2120341bf23..00000000000
--- a/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Sidebars::Concerns::WorkItemHierarchy do
- shared_examples 'hierarchy menu' do
- let(:item_id) { :hierarchy }
- specify { is_expected.not_to be_nil }
- end
-
- describe 'Project hierarchy menu item' do
- let_it_be_with_reload(:project) { create(:project, :repository) }
-
- let(:user) { project.owner }
- let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) }
-
- subject { Sidebars::Projects::Menus::ProjectInformationMenu.new(context).renderable_items.index { |e| e.item_id == item_id } }
-
- it_behaves_like 'hierarchy menu'
- end
-end
diff --git a/spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb b/spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb
index 76e58367c9d..36d5b3376b7 100644
--- a/spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb
+++ b/spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb
@@ -28,5 +28,15 @@ RSpec.describe Sidebars::Groups::Menus::KubernetesMenu do
expect(menu.render?).to eq false
end
end
+
+ context ':certificate_based_clusters feature flag is disabled' do
+ before do
+ stub_feature_flags(certificate_based_clusters: false)
+ end
+
+ it 'returns false' do
+ expect(menu.render?).to eq false
+ end
+ end
end
end
diff --git a/spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb b/spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb
index bc1fa3e88ff..d3cb18222b5 100644
--- a/spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb
+++ b/spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb
@@ -23,6 +23,7 @@ RSpec.describe Sidebars::Groups::Menus::PackagesRegistriesMenu do
context 'when menu does not have any menu item to show' do
it 'returns false' do
+ stub_feature_flags(harbor_registry_integration: false)
stub_container_registry_config(enabled: false)
stub_config(packages: { enabled: false })
stub_config(dependency_proxy: { enabled: false })
@@ -35,11 +36,13 @@ RSpec.describe Sidebars::Groups::Menus::PackagesRegistriesMenu do
describe '#link' do
let(:registry_enabled) { true }
let(:packages_enabled) { true }
+ let(:harbor_registry_integration) { true }
before do
stub_container_registry_config(enabled: registry_enabled)
stub_config(packages: { enabled: packages_enabled })
stub_config(dependency_proxy: { enabled: true })
+ stub_feature_flags(harbor_registry_integration: harbor_registry_integration)
end
subject { menu.link }
@@ -60,8 +63,16 @@ RSpec.describe Sidebars::Groups::Menus::PackagesRegistriesMenu do
context 'when Container Registry is not visible' do
let(:registry_enabled) { false }
- it 'menu link points to Dependency Proxy page' do
- expect(subject).to eq find_menu(menu, :dependency_proxy).link
+ it 'menu link points to Harbor Registry page' do
+ expect(subject).to eq find_menu(menu, :harbor_registry).link
+ end
+
+ context 'when Harbor Registry is not visible' do
+ let(:harbor_registry_integration) { false }
+
+ it 'menu link points to Dependency Proxy page' do
+ expect(subject).to eq find_menu(menu, :dependency_proxy).link
+ end
end
end
end
@@ -175,6 +186,26 @@ RSpec.describe Sidebars::Groups::Menus::PackagesRegistriesMenu do
it_behaves_like 'the menu entry is not available'
end
end
+
+ describe 'Harbor Registry' do
+ let(:item_id) { :harbor_registry }
+
+ before do
+ stub_feature_flags(harbor_registry_integration: harbor_registry_enabled)
+ end
+
+ context 'when config harbor registry setting is disabled' do
+ let(:harbor_registry_enabled) { false }
+
+ it_behaves_like 'the menu entry is not available'
+ end
+
+ context 'when config harbor registry setting is enabled' do
+ let(:harbor_registry_enabled) { true }
+
+ it_behaves_like 'the menu entry is available'
+ end
+ end
end
private
diff --git a/spec/lib/sidebars/groups/menus/settings_menu_spec.rb b/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
index 252da8ea699..71b696516b6 100644
--- a/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
+++ b/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
@@ -72,6 +72,18 @@ RSpec.describe Sidebars::Groups::Menus::SettingsMenu do
let(:item_id) { :ci_cd }
it_behaves_like 'access rights checks'
+
+ describe 'when runner list group view is disabled' do
+ before do
+ stub_feature_flags(runner_list_group_view_vue_ui: false)
+ end
+
+ it_behaves_like 'access rights checks'
+
+ it 'has group runners as active_routes' do
+ expect(subject.active_routes[:path]).to match_array %w[ci_cd#show groups/runners#show groups/runners#edit]
+ end
+ end
end
describe 'Applications menu' do
diff --git a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
index 0e415ec6014..8a6b0e4e95d 100644
--- a/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/infrastructure_menu_spec.rb
@@ -92,6 +92,14 @@ RSpec.describe Sidebars::Projects::Menus::InfrastructureMenu do
let(:item_id) { :serverless }
it_behaves_like 'access rights checks'
+
+ context 'when feature :deprecated_serverless is disabled' do
+ before do
+ stub_feature_flags(deprecated_serverless: false)
+ end
+
+ it { is_expected.to be_nil }
+ end
end
describe 'Terraform' do
diff --git a/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb b/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb
index afe0b2a8951..9b78fc807bf 100644
--- a/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb
@@ -33,6 +33,7 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do
before do
stub_container_registry_config(enabled: registry_enabled)
stub_config(packages: { enabled: packages_enabled })
+ stub_feature_flags(harbor_registry_integration: false)
end
context 'when Packages Registry is visible' do
@@ -144,5 +145,25 @@ RSpec.describe Sidebars::Projects::Menus::PackagesRegistriesMenu do
end
end
end
+
+ describe 'Harbor Registry' do
+ let(:item_id) { :harbor_registry }
+
+ context 'when config harbor registry setting is disabled' do
+ it 'does not add the menu item to the list' do
+ stub_feature_flags(harbor_registry_integration: false)
+
+ is_expected.to be_nil
+ end
+ end
+
+ context 'when config harbor registry setting is enabled' do
+ it 'the menu item is added to list of menu items' do
+ stub_feature_flags(harbor_registry_integration: true)
+
+ is_expected.not_to be_nil
+ end
+ end
+ end
end
end
diff --git a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
index 24625413ded..7ff06ac229e 100644
--- a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
@@ -59,11 +59,5 @@ RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do
specify { is_expected.to be_nil }
end
end
-
- describe 'Hierarchy' do
- let(:item_id) { :hierarchy }
-
- specify { is_expected.not_to be_nil }
- end
end
end