summaryrefslogtreecommitdiff
path: root/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/sidebars/projects/menus/project_information_menu_spec.rb')
-rw-r--r--spec/lib/sidebars/projects/menus/project_information_menu_spec.rb59
1 files changed, 17 insertions, 42 deletions
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 748796bc7ee..7e8d0ab0518 100644
--- a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do
- let_it_be(:project) { create(:project, :repository) }
+ let_it_be_with_reload(:project) { create(:project, :repository) }
let(:user) { project.owner }
let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) }
@@ -12,59 +12,36 @@ RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do
subject { described_class.new(context).container_html_options }
specify { is_expected.to match(hash_including(class: 'shortcuts-project-information has-sub-items')) }
-
- context 'when feature flag :sidebar_refactor is disabled' do
- before do
- stub_feature_flags(sidebar_refactor: false)
- end
-
- specify { is_expected.to match(hash_including(class: 'shortcuts-project rspec-project-link has-sub-items')) }
- end
end
describe 'Menu Items' do
subject { described_class.new(context).renderable_items.index { |e| e.item_id == item_id } }
- describe 'Releases' do
- let(:item_id) { :releases }
+ describe 'Labels' do
+ let(:item_id) { :labels }
- specify { is_expected.to be_nil }
+ specify { is_expected.not_to be_nil }
- context 'when feature flag :sidebar_refactor is disabled' do
+ context 'when merge requests are disabled' do
before do
- stub_feature_flags(sidebar_refactor: false)
+ project.project_feature.update_attribute(:merge_requests_access_level, Featurable::DISABLED)
end
- context 'when project repository is empty' do
- it 'does not include releases menu item' do
- allow(project).to receive(:empty_repo?).and_return(true)
+ specify { is_expected.not_to be_nil }
+ end
- is_expected.to be_nil
- end
+ context 'when issues are disabled' do
+ before do
+ project.project_feature.update_attribute(:issues_access_level, Featurable::DISABLED)
end
- context 'when project repository is not empty' do
- context 'when user can download code' do
- specify { is_expected.not_to be_nil }
- end
-
- context 'when user cannot download code' do
- let(:user) { nil }
-
- specify { is_expected.to be_nil }
- end
- end
+ specify { is_expected.not_to be_nil }
end
- end
-
- describe 'Labels' do
- let(:item_id) { :labels }
-
- specify { is_expected.not_to be_nil }
- context 'when feature flag :sidebar_refactor is disabled' do
+ context 'when merge requests and issues are disabled' do
before do
- stub_feature_flags(sidebar_refactor: false)
+ project.project_feature.update_attribute(:merge_requests_access_level, Featurable::DISABLED)
+ project.project_feature.update_attribute(:issues_access_level, Featurable::DISABLED)
end
specify { is_expected.to be_nil }
@@ -76,10 +53,8 @@ RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do
specify { is_expected.not_to be_nil }
- context 'when feature flag :sidebar_refactor is disabled' do
- before do
- stub_feature_flags(sidebar_refactor: false)
- end
+ describe 'when the user does not have access' do
+ let(:user) { nil }
specify { is_expected.to be_nil }
end