diff options
Diffstat (limited to 'spec/services/namespace_settings/update_service_spec.rb')
-rw-r--r-- | spec/services/namespace_settings/update_service_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/services/namespace_settings/update_service_spec.rb b/spec/services/namespace_settings/update_service_spec.rb index b588bf2034d..887d56df099 100644 --- a/spec/services/namespace_settings/update_service_spec.rb +++ b/spec/services/namespace_settings/update_service_spec.rb @@ -44,5 +44,36 @@ RSpec.describe NamespaceSettings::UpdateService do .from(nil).to(example_branch_name) end end + + context "updating :resource_access_token_creation_allowed" do + let(:settings) { { resource_access_token_creation_allowed: false } } + + context 'when user is a group owner' do + before do + group.add_owner(user) + end + + it "changes settings" do + expect { service.execute } + .to change { group.namespace_settings.resource_access_token_creation_allowed } + .from(true).to(false) + end + end + + context 'when user is not a group owner' do + before do + group.add_developer(user) + end + + it "does not change settings" do + expect { service.execute }.not_to change { group.namespace_settings.resource_access_token_creation_allowed } + end + + it 'returns the group owner error' do + service.execute + expect(group.namespace_settings.errors.messages[:resource_access_token_creation_allowed]).to include('can only be changed by a group admin.') + end + end + end end end |