diff options
author | James Fargher <proglottis@gmail.com> | 2019-05-02 04:07:38 +0300 |
---|---|---|
committer | James Fargher <proglottis@gmail.com> | 2019-05-06 23:37:04 +0300 |
commit | beb66cfcba26d0796644ccce2dfac8c65a808144 (patch) | |
tree | 6bb32fccb64f91776e946d84c5717d1ae52a9d7e /spec/policies | |
parent | 8db382b05545fdef0a60bcff65f8c23e8b1ed282 (diff) |
Check instance cluster feature at policy level
Try to simplify feature flag checks by using policies
Diffstat (limited to 'spec/policies')
-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 |