From 553fff95803ce84d7ae9720f3fd2e57ec4a2a8c2 Mon Sep 17 00:00:00 2001
From: Mark Chao <mchao@gitlab.com>
Date: Thu, 14 Jan 2021 13:05:00 +0800
Subject: [PATCH] Add policy for managing subscriptions

---
 ee/app/policies/ee/global_policy.rb    | 1 +
 ee/spec/policies/global_policy_spec.rb | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/ee/app/policies/ee/global_policy.rb b/ee/app/policies/ee/global_policy.rb
index 407e41c8d86..dc8db571d5c 100644
--- a/ee/app/policies/ee/global_policy.rb
+++ b/ee/app/policies/ee/global_policy.rb
@@ -28,6 +28,7 @@ module EE
         enable :destroy_licenses
         enable :read_all_geo
         enable :manage_devops_adoption_segments
+        enable :manage_subscription
       end
 
       rule { admin & pages_size_limit_available }.enable :update_max_pages_size
diff --git a/ee/spec/policies/global_policy_spec.rb b/ee/spec/policies/global_policy_spec.rb
index aa911eeeb95..3fe7742fe5f 100644
--- a/ee/spec/policies/global_policy_spec.rb
+++ b/ee/spec/policies/global_policy_spec.rb
@@ -39,17 +39,20 @@ RSpec.describe GlobalPolicy do
   it { is_expected.to be_disallowed(:read_licenses) }
   it { is_expected.to be_disallowed(:destroy_licenses) }
   it { is_expected.to be_disallowed(:read_all_geo) }
+  it { is_expected.to be_disallowed(:manage_subscription) }
 
   context 'when admin mode enabled', :enable_admin_mode do
     it { expect(described_class.new(admin, [user])).to be_allowed(:read_licenses) }
     it { expect(described_class.new(admin, [user])).to be_allowed(:destroy_licenses) }
     it { expect(described_class.new(admin, [user])).to be_allowed(:read_all_geo) }
+    it { expect(described_class.new(admin, [user])).to be_allowed(:manage_subscription) }
   end
 
   context 'when admin mode disabled' do
     it { expect(described_class.new(admin, [user])).to be_disallowed(:read_licenses) }
     it { expect(described_class.new(admin, [user])).to be_disallowed(:destroy_licenses) }
     it { expect(described_class.new(admin, [user])).to be_disallowed(:read_all_geo) }
+    it { expect(described_class.new(admin, [user])).to be_disallowed(:manage_subscription) }
   end
 
   shared_examples 'analytics policy' do |action|
-- 
2.30.9