diff options
Diffstat (limited to 'spec/services/releases/create_service_spec.rb')
-rw-r--r-- | spec/services/releases/create_service_spec.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/services/releases/create_service_spec.rb b/spec/services/releases/create_service_spec.rb index 7287825a0be..bf28fde3d90 100644 --- a/spec/services/releases/create_service_spec.rb +++ b/spec/services/releases/create_service_spec.rb @@ -44,6 +44,21 @@ RSpec.describe Releases::CreateService do it_behaves_like 'a successful release creation' + context 'when tag is protected and user does not have access to it' do + let!(:protected_tag) { create(:protected_tag, :no_one_can_create, name: '*', project: project) } + + it 'track the error event' do + stub_feature_flags(evalute_protected_tag_for_release_permissions: false) + + expect(Gitlab::ErrorTracking).to receive(:log_exception).with( + kind_of(described_class::ReleaseProtectedTagAccessError), + project_id: project.id, + user_id: user.id) + + service.execute + end + end + context 'when the tag does not exist' do let(:tag_name) { 'non-exist-tag' } |