diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-09-15 21:47:01 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-09-15 21:47:01 +0200 |
commit | 345ff6cbf93eca5d61218f28d5f4d9eb2d4abf67 (patch) | |
tree | 3ae6f729a2c77133ab9ddfaee18ce8f8b7bf8a2e /spec | |
parent | d495e4dff6aa62a2636b2a271e1c586dbdbdfee7 (diff) | |
download | gitlab-ce-345ff6cbf93eca5d61218f28d5f4d9eb2d4abf67.tar.gz |
Fix: models/ci/mail_service_spec.rb
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/ci/mail_service_spec.rb | 51 |
1 files changed, 18 insertions, 33 deletions
diff --git a/spec/models/ci/mail_service_spec.rb b/spec/models/ci/mail_service_spec.rb index 564c2941bb5..316c374fd5f 100644 --- a/spec/models/ci/mail_service_spec.rb +++ b/spec/models/ci/mail_service_spec.rb @@ -29,6 +29,11 @@ describe Ci::MailService do describe 'Sends email for' do let(:mail) { Ci::MailService.new } + let(:deliveries) { ActionMailer::Base.deliveries} + + before(:each) do + deliveries.clear + end describe 'failed build' do let(:project) { FactoryGirl.create(:ci_project, email_add_pusher: true) } @@ -42,13 +47,10 @@ describe Ci::MailService do end it do - should_email("git@example.com") mail.execute(build) - end - - def should_email(email) - expect(Notify).to receive(:build_fail_email).with(build.id, email) - expect(Notify).not_to receive(:build_success_email).with(build.id, email) + expect(deliveries.count).to eq(1) + expect(deliveries[0].subject).to include('Build failed for') + expect(deliveries[0].to).to eq(["git@example.com"]) end end @@ -64,13 +66,10 @@ describe Ci::MailService do end it do - should_email("git@example.com") mail.execute(build) - end - - def should_email(email) - expect(Notify).to receive(:build_success_email).with(build.id, email) - expect(Notify).not_to receive(:build_fail_email).with(build.id, email) + expect(deliveries.count).to eq(1) + expect(deliveries[0].subject).to include('Build success for') + expect(deliveries[0].to).to eq(["git@example.com"]) end end @@ -91,14 +90,12 @@ describe Ci::MailService do end it do - should_email("git@example.com") - should_email("jeroen@example.com") mail.execute(build) - end - - def should_email(email) - expect(Notify).to receive(:build_success_email).with(build.id, email) - expect(Notify).not_to receive(:build_fail_email).with(build.id, email) + expect(deliveries.count).to eq(2) + expect(deliveries[0].subject).to include('Build success for') + expect(deliveries[0].to).to eq(["jeroen@example.com"]) + expect(deliveries[1].subject).to include('Build success for') + expect(deliveries[1].to).to eq(["git@example.com"]) end end @@ -119,14 +116,8 @@ describe Ci::MailService do end it do - should_email(commit.git_author_email) - should_email("jeroen@example.com") mail.execute(build) if mail.can_execute?(build) - end - - def should_email(email) - expect(Notify).not_to receive(:build_success_email).with(build.id, email) - expect(Notify).not_to receive(:build_fail_email).with(build.id, email) + expect(deliveries.count).to eq(0) end end @@ -170,14 +161,8 @@ describe Ci::MailService do it do Ci::Build.retry(build) - should_email(commit.git_author_email) - should_email("jeroen@example.com") mail.execute(build) if mail.can_execute?(build) - end - - def should_email(email) - expect(Notify).not_to receive(:build_success_email).with(build.id, email) - expect(Notify).not_to receive(:build_fail_email).with(build.id, email) + expect(deliveries.count).to eq(0) end end end |