diff options
author | Rémy Coutable <remy@rymai.me> | 2016-04-05 18:15:13 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-04-06 16:14:51 +0200 |
commit | e79b867d2b24f97cdf91315abd9dbbb22dc2d0e4 (patch) | |
tree | 5582285801bd633c3b319ec5a6c640ea4e2aff22 /spec/models/project_services/builds_email_service_spec.rb | |
parent | 1749bd3b467b151074cd10f1d11c679fb714854b (diff) | |
download | gitlab-ce-e79b867d2b24f97cdf91315abd9dbbb22dc2d0e4.tar.gz |
Ensure empty recipients are rejected in BuildsEmailService
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/models/project_services/builds_email_service_spec.rb')
-rw-r--r-- | spec/models/project_services/builds_email_service_spec.rb | 24 |
1 files changed, 22 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 905379a64e3..2ccbff553f0 100644 --- a/spec/models/project_services/builds_email_service_spec.rb +++ b/spec/models/project_services/builds_email_service_spec.rb @@ -6,18 +6,38 @@ describe BuildsEmailService do let(:service) { BuildsEmailService.new } describe :execute do - it "sends email" do + it 'sends email' do service.recipients = 'test@gitlab.com' data[:build_status] = 'failed' expect(BuildEmailWorker).to receive(:perform_async) service.execute(data) end - it "does not sends email with failed build and allowed_failure on" do + it 'does not send email with succeeded build and notify_only_broken_builds on' do + expect(service).to receive(:notify_only_broken_builds).and_return(true) + data[:build_status] = 'success' + expect(BuildEmailWorker).not_to receive(:perform_async) + service.execute(data) + end + + it 'does not send email with failed build and build_allow_failure is true' do data[:build_status] = 'failed' data[:build_allow_failure] = true expect(BuildEmailWorker).not_to receive(:perform_async) service.execute(data) end + + it 'does not send email with unknown build status' do + data[:build_status] = 'foo' + expect(BuildEmailWorker).not_to receive(:perform_async) + service.execute(data) + end + + it 'does not send email when recipients list is empty' do + service.recipients = ' ,, ' + data[:build_status] = 'failed' + expect(BuildEmailWorker).not_to receive(:perform_async) + service.execute(data) + end end end |