From a0625929db4565f1067a2be246a02c625e288127 Mon Sep 17 00:00:00 2001 From: Simon Knox Date: Mon, 21 Nov 2022 11:07:59 +1100 Subject: [PATCH 1/2] Add work_items_mvc feature flag to work items page --- app/controllers/projects/work_items_controller.rb | 1 + app/models/group.rb | 4 ++++ app/models/project.rb | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/app/controllers/projects/work_items_controller.rb b/app/controllers/projects/work_items_controller.rb index a7e59a28fb7517..e9f5a7207bba71 100644 --- a/app/controllers/projects/work_items_controller.rb +++ b/app/controllers/projects/work_items_controller.rb @@ -3,6 +3,7 @@ class Projects::WorkItemsController < Projects::ApplicationController before_action do push_force_frontend_feature_flag(:work_items, project&.work_items_feature_flag_enabled?) + push_force_frontend_feature_flag(:work_items_mvc, project&.work_items_mvc_feature_flag_enabled?) push_force_frontend_feature_flag(:work_items_mvc_2, project&.work_items_mvc_2_feature_flag_enabled?) push_frontend_feature_flag(:use_iid_in_work_items_path, project) end diff --git a/app/models/group.rb b/app/models/group.rb index 098116ed8002a5..b6344a22bae498 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -887,6 +887,10 @@ def work_items_feature_flag_enabled? feature_flag_enabled_for_self_or_ancestor?(:work_items) end + def work_items_mvc_feature_flag_enabled? + feature_flag_enabled_for_self_or_ancestor?(:work_items_mvc) + end + def work_items_mvc_2_feature_flag_enabled? feature_flag_enabled_for_self_or_ancestor?(:work_items_mvc_2) end diff --git a/app/models/project.rb b/app/models/project.rb index a07d4147228158..d07e9ff759ec08 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -2994,6 +2994,10 @@ def work_items_feature_flag_enabled? group&.work_items_feature_flag_enabled? || Feature.enabled?(:work_items, self) end + def work_items_mvc_feature_flag_enabled? + group&.work_items_mvc_feature_flag_enabled? || Feature.enabled?(:work_items_mvc) + end + def work_items_mvc_2_feature_flag_enabled? group&.work_items_mvc_2_feature_flag_enabled? || Feature.enabled?(:work_items_mvc_2) end -- GitLab From 2624d15f842d2ffb05666db298bbbac699e50827 Mon Sep 17 00:00:00 2001 From: Simon Knox Date: Mon, 21 Nov 2022 22:41:33 +1100 Subject: [PATCH 2/2] Add flag specs --- spec/models/group_spec.rb | 7 +++++++ spec/models/project_spec.rb | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 6ba450b6d570d4..cfce8c0927fa7a 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -3294,6 +3294,13 @@ def define_cache_expectations(cache_key) end end + describe '#work_items_mvc_feature_flag_enabled?' do + it_behaves_like 'checks self and root ancestor feature flag' do + let(:feature_flag) { :work_items_mvc } + let(:feature_flag_method) { :work_items_mvc_feature_flag_enabled? } + end + end + describe '#work_items_mvc_2_feature_flag_enabled?' do it_behaves_like 'checks self and root ancestor feature flag' do let(:feature_flag) { :work_items_mvc_2 } diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 8cccc9ad83eedd..9373556a37e0f4 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -8156,6 +8156,16 @@ def has_external_wiki end end + describe '#work_items_mvc_feature_flag_enabled?' do + let_it_be(:group_project) { create(:project, :in_subgroup) } + + it_behaves_like 'checks parent group feature flag' do + let(:feature_flag_method) { :work_items_mvc_feature_flag_enabled? } + let(:feature_flag) { :work_items_mvc } + let(:subject_project) { group_project } + end + end + describe '#work_items_mvc_2_feature_flag_enabled?' do let_it_be(:group_project) { create(:project, :in_subgroup) } -- GitLab