diff options
Diffstat (limited to 'spec/policies/clusters/instance_policy_spec.rb')
-rw-r--r-- | spec/policies/clusters/instance_policy_spec.rb | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/spec/policies/clusters/instance_policy_spec.rb b/spec/policies/clusters/instance_policy_spec.rb index f4652c2ad00..9d755c6d29d 100644 --- a/spec/policies/clusters/instance_policy_spec.rb +++ b/spec/policies/clusters/instance_policy_spec.rb @@ -3,9 +3,8 @@ require 'spec_helper' describe Clusters::InstancePolicy do - let(:cluster) { create(:cluster, :instance) } let(:user) { create(:user) } - let(:policy) { described_class.new(user, cluster) } + let(:policy) { described_class.new(user, Clusters::Instance.new) } describe 'rules' do context 'when user' do @@ -17,9 +16,21 @@ describe Clusters::InstancePolicy do context 'when admin' do let(:user) { create(:admin) } - it { expect(policy).to be_allowed :read_cluster } - it { expect(policy).to be_allowed :update_cluster } - it { expect(policy).to be_allowed :admin_cluster } + context 'with instance_level_clusters enabled' do + it { expect(policy).to be_allowed :read_cluster } + it { expect(policy).to be_allowed :update_cluster } + it { expect(policy).to be_allowed :admin_cluster } + end + + context 'with instance_level_clusters disabled' do + before do + stub_feature_flags(instance_clusters: false) + end + + it { expect(policy).to be_disallowed :read_cluster } + it { expect(policy).to be_disallowed :update_cluster } + it { expect(policy).to be_disallowed :admin_cluster } + end end end end |