summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorFrank Groeneveld <frank@frankgroeneveld.nl>2016-04-14 10:24:09 +0200
committerFrank Groeneveld <frank@frankgroeneveld.nl>2016-04-14 10:24:09 +0200
commit2fd05aed463684203cf21923b54e28888fcad0ea (patch)
treeded8a87c6ac85fdb0668c02bc5454dc8b03e814a /spec/models
parenta872a29ebd54bf9c91d66b198f36d998bed05be7 (diff)
downloadgitlab-ce-2fd05aed463684203cf21923b54e28888fcad0ea.tar.gz
Allow empty recipient list when pusher is added
Closes #13574
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/project_services/builds_email_service_spec.rb37
1 files changed, 35 insertions, 2 deletions
diff --git a/spec/models/project_services/builds_email_service_spec.rb b/spec/models/project_services/builds_email_service_spec.rb
index 2ccbff553f0..7c23c2efccd 100644
--- a/spec/models/project_services/builds_email_service_spec.rb
+++ b/spec/models/project_services/builds_email_service_spec.rb
@@ -3,9 +3,10 @@ require 'spec_helper'
describe BuildsEmailService do
let(:build) { create(:ci_build) }
let(:data) { Gitlab::BuildDataBuilder.build(build) }
- let(:service) { BuildsEmailService.new }
+ let!(:project) { create(:project, :public, ci_id: 1) }
+ let(:service) { described_class.new(project: project, active: true) }
- describe :execute do
+ describe '#execute' do
it 'sends email' do
service.recipients = 'test@gitlab.com'
data[:build_status] = 'failed'
@@ -40,4 +41,36 @@ describe BuildsEmailService do
service.execute(data)
end
end
+
+ describe 'validations' do
+
+ context 'when pusher is not added' do
+ before { service.add_pusher = false }
+
+ it 'does not allow empty recipient input' do
+ service.recipients = ''
+ expect(service.valid?).to be false
+ end
+
+ it 'does allow non-empty recipient input' do
+ service.recipients = 'test@example.com'
+ expect(service.valid?).to be true
+ end
+
+ end
+
+ context 'when pusher is added' do
+ before { service.add_pusher = true }
+
+ it 'does allow empty recipient input' do
+ service.recipients = ''
+ expect(service.valid?).to be true
+ end
+
+ it 'does allow non-empty recipient input' do
+ service.recipients = 'test@example.com'
+ expect(service.valid?).to be true
+ end
+ end
+ end
end