Last active
December 8, 2016 12:28
-
-
Save camallen/2ef62ff4299e4ea2562a663e39f9bfaa to your computer and use it in GitHub Desktop.
dump_mailer_worker_spec.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/spec/workers/concerns/dump_mailer_worker_spec.rb b/spec/workers/concerns/dump_mailer_worker_spec.rb | |
index e8e14c1..1e51277 100644 | |
--- a/spec/workers/concerns/dump_mailer_worker_spec.rb | |
+++ b/spec/workers/concerns/dump_mailer_worker_spec.rb | |
@@ -1,8 +1,10 @@ | |
require 'spec_helper' | |
describe DumpMailerWorker do | |
- let(:resource) { double(id: 1) } | |
- | |
+ let(:resource) { double(id: 1, class: Workflow) } | |
+ let(:users) { create_list(:user, 2) } | |
+ let(:metadata) { {"recipients" => users.map(&:id) } } | |
+ let(:medium) {double(id: 2, get_url: nil, metadata: metadata) } | |
let(:worker_class) do | |
Class.new do | |
include DumpWorker | |
@@ -22,20 +24,24 @@ describe DumpMailerWorker do | |
end | |
describe 'queueing notification emails' do | |
+ let(:worker) { worker_class.new(resource, medium) } | |
+ | |
it 'queues up an email job' do | |
- user1 = create :user | |
- user2 = create :user | |
- medium = double(get_url: nil, metadata: {"recipients" => [user1.id, user2.id]}) | |
- worker = worker_class.new(resource, medium) | |
- expect(ClassificationDataMailerWorker).to receive(:perform_async).once | |
+ expect(worker.mailer) | |
+ .to receive(:perform_async) | |
+ .with(resource.id, "workflow", nil, users.map(&:email)) | |
+ .once | |
+ .and_call_original | |
worker.send_email | |
end | |
- it 'does not queue an email job if there are no recipients' do | |
- medium = double(get_url: nil, metadata: {"recipients" => []}) | |
- worker = worker_class.new(resource, medium) | |
- expect(ClassificationDataMailerWorker).to receive(:perform_async).never | |
- worker.send_email | |
+ context "with no recipients" do | |
+ let(:users) { [] } | |
+ | |
+ it 'does not queue an email job' do | |
+ expect(worker.mailer).to receive(:perform_async).never | |
+ worker.send_email | |
+ end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment