debian-mirror-gitlab/spec/support/shared_examples/policies/namespace_policy_shared_examples.rb
2020-08-09 17:44:08 +05:30

35 lines
878 B
Ruby

# frozen_string_literal: true
RSpec.shared_examples 'update namespace limit policy' do
describe 'update_subscription_limit' do
using RSpec::Parameterized::TableSyntax
let(:policy) { :update_subscription_limit }
where(:role, :is_com, :allowed) do
:user | true | false
:owner | true | false
:admin | true | true
:user | false | false
:owner | false | false
:admin | false | false
end
with_them do
let(:current_user) { build_stubbed(role) }
before do
allow(Gitlab).to receive(:com?).and_return(is_com)
end
context 'when admin mode enabled', :enable_admin_mode do
it { is_expected.to(allowed ? be_allowed(policy) : be_disallowed(policy)) }
end
context 'when admin mode disabled' do
it { is_expected.to be_disallowed(policy) }
end
end
end
end