summaryrefslogtreecommitdiff
path: root/spec/services/releases/create_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/releases/create_service_spec.rb')
-rw-r--r--spec/services/releases/create_service_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/services/releases/create_service_spec.rb b/spec/services/releases/create_service_spec.rb
index 9768ceb12e8..ca5dd912e77 100644
--- a/spec/services/releases/create_service_spec.rb
+++ b/spec/services/releases/create_service_spec.rb
@@ -55,6 +55,26 @@ RSpec.describe Releases::CreateService, feature_category: :continuous_integratio
end
end
+ context 'when project is a catalog resource' do
+ let(:ref) { 'master' }
+ let!(:catalog_resource) { create(:catalog_resource, project: project) }
+
+ context 'and it is valid' do
+ let_it_be(:project) { create(:project, :repository, description: 'our components') }
+
+ it_behaves_like 'a successful release creation'
+ end
+
+ context 'and it is invalid' do
+ it 'raises an error and does not update the release' do
+ result = service.execute
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq('Project must have a description')
+ end
+ end
+ end
+
context 'when ref is provided' do
let(:ref) { 'master' }
let(:tag_name) { 'foobar' }