From 2b2f39ecf3be249d59fed7599062a5ff053fd350 Mon Sep 17 00:00:00 2001 From: Divya <dmahadevan@gitlab.com> Date: Wed, 19 Jun 2024 14:24:38 +0200 Subject: [PATCH] Ability to check for SM duo pro bulk assignment --- .../sm_duo_pro_bulk_user_assignment.yml | 9 ++++ .../code_suggestions_helper.rb | 6 ++- .../code_suggestions_helper_spec.rb | 42 +++++++++++++++++-- 3 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 config/feature_flags/development/sm_duo_pro_bulk_user_assignment.yml diff --git a/config/feature_flags/development/sm_duo_pro_bulk_user_assignment.yml b/config/feature_flags/development/sm_duo_pro_bulk_user_assignment.yml new file mode 100644 index 0000000000000000..76227f3f9cea08b0 --- /dev/null +++ b/config/feature_flags/development/sm_duo_pro_bulk_user_assignment.yml @@ -0,0 +1,9 @@ +--- +name: sm_duo_pro_bulk_user_assignment +feature_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/12959 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156779 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/443570 +milestone: '17.2' +group: group::provision +type: development +default_enabled: false diff --git a/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb b/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb index b8acf61561ad0ed2..9e8d1f8034370f26 100644 --- a/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb +++ b/ee/app/helpers/gitlab_subscriptions/code_suggestions_helper.rb @@ -15,7 +15,11 @@ def gitlab_duo_available?(namespace = nil) def duo_pro_bulk_user_assignment_available?(namespace = nil) return false unless gitlab_duo_available?(namespace) - Feature.enabled?(:gitlab_com_duo_pro_bulk_user_assignment, namespace) if gitlab_com_subscription? + if gitlab_com_subscription? + Feature.enabled?(:gitlab_com_duo_pro_bulk_user_assignment, namespace) + else + Feature.enabled?(:sm_duo_pro_bulk_user_assignment) + end end def add_duo_pro_seats_url(subscription_name) diff --git a/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb b/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb index 010572e9597a6e29..2b4bbb03e7290b1f 100644 --- a/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb +++ b/ee/spec/helpers/gitlab_subscriptions/code_suggestions_helper_spec.rb @@ -120,14 +120,30 @@ end end - context 'when GitLab is not .com' do + context 'when GitLab is self managed' do before do stub_saas_features(gitlab_com_subscriptions: false) end context 'when duo pro is available' do - it 'returns false' do - expect(helper.duo_pro_bulk_user_assignment_available?).to be_falsey + context 'when sm feature flag is enabled' do + before do + stub_feature_flags(sm_duo_pro_bulk_user_assignment: true) + end + + it 'returns true' do + expect(helper.duo_pro_bulk_user_assignment_available?).to be_truthy + end + end + + context 'when sm feature flag is disabled' do + before do + stub_feature_flags(sm_duo_pro_bulk_user_assignment: false) + end + + it 'returns false' do + expect(helper.duo_pro_bulk_user_assignment_available?).to be_falsey + end end end @@ -136,6 +152,26 @@ stub_feature_flags(self_managed_code_suggestions: false) end + context 'when sm feature flag is enabled' do + before do + stub_feature_flags(sm_duo_pro_bulk_user_assignment: true) + end + + it 'returns false' do + expect(helper.duo_pro_bulk_user_assignment_available?).to be_falsey + end + end + + context 'when sm feature flag is disabled' do + before do + stub_feature_flags(sm_duo_pro_bulk_user_assignment: false) + end + + it 'returns false' do + expect(helper.duo_pro_bulk_user_assignment_available?).to be_falsey + end + end + it 'returns false' do expect(helper.duo_pro_bulk_user_assignment_available?).to be_falsey end -- GitLab