From 62aae3415c1a5e53f35668a84fdafc04be5e0f27 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 31 Jan 2022 06:12:59 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../sidebars/concerns/work_item_hierarchy_spec.rb | 36 ++++++++++++++++++++++ .../menus/project_information_menu_spec.rb | 20 ++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb (limited to 'spec/lib/sidebars') diff --git a/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb b/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb new file mode 100644 index 00000000000..f0a5e032764 --- /dev/null +++ b/spec/lib/sidebars/concerns/work_item_hierarchy_spec.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Sidebars::Concerns::WorkItemHierarchy do + shared_examples 'hierarchy menu' do + let(:item_id) { :hierarchy } + + context 'when the feature is disabled does not render' do + before do + stub_feature_flags(work_items_hierarchy: false) + end + + specify { is_expected.to be_nil } + end + + context 'when the feature is enabled does render' do + before do + stub_feature_flags(work_items_hierarchy: true) + end + + specify { is_expected.not_to be_nil } + end + 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/projects/menus/project_information_menu_spec.rb b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb index 7ff06ac229e..76367782d68 100644 --- a/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb +++ b/spec/lib/sidebars/projects/menus/project_information_menu_spec.rb @@ -59,5 +59,25 @@ RSpec.describe Sidebars::Projects::Menus::ProjectInformationMenu do specify { is_expected.to be_nil } end end + + describe 'Hierarchy' do + let(:item_id) { :hierarchy } + + context 'when the feature is disabled' do + before do + stub_feature_flags(work_items_hierarchy: false) + end + + specify { is_expected.to be_nil } + end + + context 'when the feature is enabled' do + before do + stub_feature_flags(work_items_hierarchy: true) + end + + specify { is_expected.not_to be_nil } + end + end end end -- cgit v1.2.3