Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/sidebars')
-rw-r--r--spec/lib/sidebars/concerns/container_with_html_options_spec.rb6
-rw-r--r--spec/lib/sidebars/explore/menus/catalog_menu_spec.rb34
-rw-r--r--spec/lib/sidebars/groups/menus/scope_menu_spec.rb6
-rw-r--r--spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb1
-rw-r--r--spec/lib/sidebars/organizations/menus/manage_menu_spec.rb20
-rw-r--r--spec/lib/sidebars/projects/menus/repository_menu_spec.rb2
-rw-r--r--spec/lib/sidebars/projects/menus/scope_menu_spec.rb6
-rw-r--r--spec/lib/sidebars/projects/menus/shimo_menu_spec.rb44
-rw-r--r--spec/lib/sidebars/projects/panel_spec.rb22
-rw-r--r--spec/lib/sidebars/user_settings/menus/access_tokens_menu_spec.rb2
-rw-r--r--spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb2
-rw-r--r--spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb2
-rw-r--r--spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb4
-rw-r--r--spec/lib/sidebars/user_settings/menus/password_menu_spec.rb2
14 files changed, 31 insertions, 122 deletions
diff --git a/spec/lib/sidebars/concerns/container_with_html_options_spec.rb b/spec/lib/sidebars/concerns/container_with_html_options_spec.rb
index 588e89a80f7..6adbfce3087 100644
--- a/spec/lib/sidebars/concerns/container_with_html_options_spec.rb
+++ b/spec/lib/sidebars/concerns/container_with_html_options_spec.rb
@@ -18,10 +18,4 @@ RSpec.describe Sidebars::Concerns::ContainerWithHtmlOptions, feature_category: :
expect(subject.container_html_options).to eq(aria: { label: 'Foo' })
end
end
-
- describe '#collapsed_container_html_options' do
- it 'includes by default aria-label attribute' do
- expect(subject.collapsed_container_html_options).to eq(aria: { label: 'Foo' })
- end
- end
end
diff --git a/spec/lib/sidebars/explore/menus/catalog_menu_spec.rb b/spec/lib/sidebars/explore/menus/catalog_menu_spec.rb
index 2c4c4c48eae..543f9b26a66 100644
--- a/spec/lib/sidebars/explore/menus/catalog_menu_spec.rb
+++ b/spec/lib/sidebars/explore/menus/catalog_menu_spec.rb
@@ -10,31 +10,19 @@ RSpec.describe Sidebars::Explore::Menus::CatalogMenu, feature_category: :navigat
subject { described_class.new(context) }
- context 'when `global_ci_catalog` is enabled`' do
- it 'renders' do
- expect(subject.render?).to be(true)
- end
-
- it 'renders the correct link' do
- expect(subject.link).to match "explore/catalog"
- end
-
- it 'renders the correct title' do
- expect(subject.title).to eq "CI/CD Catalog"
- end
-
- it 'renders the correct icon' do
- expect(subject.sprite_icon).to eq "catalog-checkmark"
- end
+ it 'renders' do
+ expect(subject.render?).to be(true)
end
- context 'when `global_ci_catalog` FF is disabled' do
- before do
- stub_feature_flags(global_ci_catalog: false)
- end
+ it 'renders the correct link' do
+ expect(subject.link).to match "explore/catalog"
+ end
+
+ it 'renders the correct title' do
+ expect(subject.title).to eq "CI/CD Catalog"
+ end
- it 'does not render' do
- expect(subject.render?).to be(false)
- end
+ it 'renders the correct icon' do
+ expect(subject.sprite_icon).to eq "catalog-checkmark"
end
end
diff --git a/spec/lib/sidebars/groups/menus/scope_menu_spec.rb b/spec/lib/sidebars/groups/menus/scope_menu_spec.rb
index 2cce2d28e68..00083fcfbf1 100644
--- a/spec/lib/sidebars/groups/menus/scope_menu_spec.rb
+++ b/spec/lib/sidebars/groups/menus/scope_menu_spec.rb
@@ -8,12 +8,6 @@ RSpec.describe Sidebars::Groups::Menus::ScopeMenu, feature_category: :navigation
let(:context) { Sidebars::Groups::Context.new(current_user: user, container: group) }
let(:menu) { described_class.new(context) }
- describe '#extra_nav_link_html_options' do
- subject { menu.extra_nav_link_html_options }
-
- specify { is_expected.to match(hash_including(class: 'context-header has-tooltip', title: context.group.name)) }
- end
-
it_behaves_like 'serializable as super_sidebar_menu_args' do
let(:extra_attrs) do
{
diff --git a/spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb b/spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb
index cc2809df85f..0ff9bbebdc3 100644
--- a/spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb
+++ b/spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb
@@ -16,7 +16,6 @@ RSpec.describe Sidebars::Groups::SuperSidebarMenus::AnalyzeMenu, feature_categor
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:analytics_dashboards,
- :dashboards_analytics,
:cycle_analytics,
:ci_cd_analytics,
:contribution_analytics,
diff --git a/spec/lib/sidebars/organizations/menus/manage_menu_spec.rb b/spec/lib/sidebars/organizations/menus/manage_menu_spec.rb
index 87346176a4c..7f1dab6a8b4 100644
--- a/spec/lib/sidebars/organizations/menus/manage_menu_spec.rb
+++ b/spec/lib/sidebars/organizations/menus/manage_menu_spec.rb
@@ -7,17 +7,15 @@ RSpec.describe Sidebars::Organizations::Menus::ManageMenu, feature_category: :na
let_it_be(:user) { build(:user) }
let_it_be(:context) { Sidebars::Context.new(current_user: user, container: organization) }
- let(:items) { subject.instance_variable_get(:@items) }
-
- subject { described_class.new(context) }
+ subject(:menu) { described_class.new(context) }
it 'has title and sprite_icon' do
- expect(subject.title).to eq(s_("Navigation|Manage"))
- expect(subject.sprite_icon).to eq("users")
+ expect(menu.title).to eq(s_("Navigation|Manage"))
+ expect(menu.sprite_icon).to eq("users")
end
describe 'Menu items' do
- subject { described_class.new(context).renderable_items.find { |e| e.item_id == item_id } }
+ subject(:item) { menu.renderable_items.find { |e| e.item_id == item_id } }
describe 'Groups and projects' do
let(:item_id) { :organization_groups_and_projects }
@@ -28,7 +26,15 @@ RSpec.describe Sidebars::Organizations::Menus::ManageMenu, feature_category: :na
describe 'Users' do
let(:item_id) { :organization_users }
- it { is_expected.not_to be_nil }
+ context 'when current user has permissions' do
+ let_it_be(:organization_user) { create(:organization_user, user: user, organization: organization) } # rubocop: disable RSpec/FactoryBot/AvoidCreate -- does not work with build_stubbed
+
+ it { is_expected.not_to be_nil }
+ end
+
+ context 'when current user does not have permissions' do
+ it { is_expected.to be_nil }
+ end
end
end
end
diff --git a/spec/lib/sidebars/projects/menus/repository_menu_spec.rb b/spec/lib/sidebars/projects/menus/repository_menu_spec.rb
index 1aa0ea30d0a..b29427d68dd 100644
--- a/spec/lib/sidebars/projects/menus/repository_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/repository_menu_spec.rb
@@ -112,7 +112,7 @@ RSpec.describe Sidebars::Projects::Menus::RepositoryMenu, feature_category: :sou
end
end
- describe 'Contributor statistics' do
+ describe 'Contributor analytics' do
let_it_be(:item_id) { :contributors }
context 'when analytics is disabled' do
diff --git a/spec/lib/sidebars/projects/menus/scope_menu_spec.rb b/spec/lib/sidebars/projects/menus/scope_menu_spec.rb
index 108a98e28a4..fb1ec94dfe8 100644
--- a/spec/lib/sidebars/projects/menus/scope_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/scope_menu_spec.rb
@@ -25,10 +25,4 @@ RSpec.describe Sidebars::Projects::Menus::ScopeMenu, feature_category: :navigati
specify { is_expected.to match(hash_including(class: 'shortcuts-project')) }
end
-
- describe '#extra_nav_link_html_options' do
- subject { described_class.new(context).extra_nav_link_html_options }
-
- specify { is_expected.to match(hash_including(class: 'context-header has-tooltip', title: context.project.name)) }
- end
end
diff --git a/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb b/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb
deleted file mode 100644
index e74647894fa..00000000000
--- a/spec/lib/sidebars/projects/menus/shimo_menu_spec.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe Sidebars::Projects::Menus::ShimoMenu do
- let_it_be_with_reload(:project) { create(:project) }
-
- let(:context) { Sidebars::Projects::Context.new(current_user: project.first_owner, container: project) }
-
- subject(:shimo_menu) { described_class.new(context) }
-
- describe '#render?' do
- context 'without a valid Shimo integration' do
- it "doesn't render the menu" do
- expect(shimo_menu.render?).to be_falsey
- end
- end
-
- context 'with a valid Shimo integration' do
- let_it_be_with_reload(:shimo_integration) { create(:shimo_integration, project: project) }
-
- context 'when integration is active' do
- it 'renders the menu' do
- expect(shimo_menu.render?).to eq true
- end
-
- it 'renders menu link' do
- expected_url = Rails.application.routes.url_helpers.project_integrations_shimo_path(project)
- expect(shimo_menu.link).to eq expected_url
- end
- end
-
- context 'when integration is inactive' do
- before do
- shimo_integration.update!(active: false)
- end
-
- it "doesn't render the menu" do
- expect(shimo_menu.render?).to eq false
- end
- end
- end
- end
-end
diff --git a/spec/lib/sidebars/projects/panel_spec.rb b/spec/lib/sidebars/projects/panel_spec.rb
index ec1df438cf1..b6ff1acc176 100644
--- a/spec/lib/sidebars/projects/panel_spec.rb
+++ b/spec/lib/sidebars/projects/panel_spec.rb
@@ -30,28 +30,6 @@ RSpec.describe Sidebars::Projects::Panel, feature_category: :navigation do
expect(subject.index { |i| i.is_a?(Sidebars::Projects::Menus::WikiMenu) }).to be_nil
end
end
-
- context 'shimo only' do
- let_it_be(:shimo) { create(:shimo_integration, active: true) }
-
- let(:project) { shimo.project }
-
- it 'contains Shimo menu item' do
- expect(subject.index { |i| i.is_a?(Sidebars::Projects::Menus::ShimoMenu) }).not_to be_nil
- end
- end
-
- context 'confluence & shimo' do
- let_it_be(:confluence) { create(:confluence_integration, active: true) }
- let_it_be(:shimo) { create(:shimo_integration, active: true) }
-
- let(:project) { confluence.project }
-
- it 'contains Confluence menu item, not Shimo' do
- expect(subject.index { |i| i.is_a?(Sidebars::Projects::Menus::ConfluenceMenu) }).not_to be_nil
- expect(subject.index { |i| i.is_a?(Sidebars::Projects::Menus::ShimoMenu) }).to be_nil
- end
- end
end
context 'when integration is not present' do
diff --git a/spec/lib/sidebars/user_settings/menus/access_tokens_menu_spec.rb b/spec/lib/sidebars/user_settings/menus/access_tokens_menu_spec.rb
index fa33e7bedfb..eebd089ad3f 100644
--- a/spec/lib/sidebars/user_settings/menus/access_tokens_menu_spec.rb
+++ b/spec/lib/sidebars/user_settings/menus/access_tokens_menu_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
RSpec.describe Sidebars::UserSettings::Menus::AccessTokensMenu, feature_category: :navigation do
it_behaves_like 'User settings menu',
- link: '/-/profile/personal_access_tokens',
+ link: '/-/user_settings/personal_access_tokens',
title: _('Access Tokens'),
icon: 'token',
active_routes: { controller: :personal_access_tokens }
diff --git a/spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb b/spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb
index be5f826ee58..d4b9c359a98 100644
--- a/spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb
+++ b/spec/lib/sidebars/user_settings/menus/active_sessions_menu_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
RSpec.describe Sidebars::UserSettings::Menus::ActiveSessionsMenu, feature_category: :navigation do
it_behaves_like 'User settings menu',
- link: '/-/profile/active_sessions',
+ link: '/-/user_settings/active_sessions',
title: _('Active Sessions'),
icon: 'monitor-lines',
active_routes: { controller: :active_sessions }
diff --git a/spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb b/spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb
index eeda4fb844c..a0c175051df 100644
--- a/spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb
+++ b/spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
RSpec.describe Sidebars::UserSettings::Menus::ApplicationsMenu, feature_category: :navigation do
it_behaves_like 'User settings menu',
- link: '/-/profile/applications',
+ link: '/-/user_settings/applications',
title: _('Applications'),
icon: 'applications',
active_routes: { controller: 'oauth/applications' }
diff --git a/spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb b/spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb
index 33be5050c37..5a154d7dafb 100644
--- a/spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb
+++ b/spec/lib/sidebars/user_settings/menus/authentication_log_menu_spec.rb
@@ -4,10 +4,10 @@ require 'spec_helper'
RSpec.describe Sidebars::UserSettings::Menus::AuthenticationLogMenu, feature_category: :navigation do
it_behaves_like 'User settings menu',
- link: '/-/profile/audit_log',
+ link: '/-/user_settings/authentication_log',
title: _('Authentication Log'),
icon: 'log',
- active_routes: { path: 'profiles#audit_log' }
+ active_routes: { path: 'user_settings#authentication_log' }
it_behaves_like 'User settings menu #render? method'
end
diff --git a/spec/lib/sidebars/user_settings/menus/password_menu_spec.rb b/spec/lib/sidebars/user_settings/menus/password_menu_spec.rb
index 168019fea5d..83e47fd120a 100644
--- a/spec/lib/sidebars/user_settings/menus/password_menu_spec.rb
+++ b/spec/lib/sidebars/user_settings/menus/password_menu_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
RSpec.describe Sidebars::UserSettings::Menus::PasswordMenu, feature_category: :navigation do
it_behaves_like 'User settings menu',
- link: '/-/profile/password',
+ link: '/-/user_settings/password',
title: _('Password'),
icon: 'lock',
active_routes: { controller: :passwords }