diff options
author | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-11-01 16:32:01 -0400 |
---|---|---|
committer | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-11-22 18:37:53 -0500 |
commit | 60339da5bcb76489576321fa12e665f176d8d692 (patch) | |
tree | 882f3a076f9211924a9f4020e7d1729e1ab66543 /actionmailer/test/parameterized_test.rb | |
parent | 548bd509857ca5bba300915aa5ad9bff6e8c0238 (diff) | |
download | rails-60339da5bcb76489576321fa12e665f176d8d692.tar.gz rails-60339da5bcb76489576321fa12e665f176d8d692.tar.bz2 rails-60339da5bcb76489576321fa12e665f176d8d692.zip |
Deliver parameterized mail with DeliveryJob
Deliver parameterized mail with `ActionMailer::DeliveryJob`
and remove `ActionMailer::Parameterized::DeliveryJob`.
Diffstat (limited to 'actionmailer/test/parameterized_test.rb')
-rw-r--r-- | actionmailer/test/parameterized_test.rb | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/actionmailer/test/parameterized_test.rb b/actionmailer/test/parameterized_test.rb index d3b34fc3e3..3713dc3e3e 100644 --- a/actionmailer/test/parameterized_test.rb +++ b/actionmailer/test/parameterized_test.rb @@ -7,6 +7,9 @@ require "mailers/params_mailer" class ParameterizedTest < ActiveSupport::TestCase include ActiveJob::TestHelper + class DummyDeliveryJob < ActionMailer::DeliveryJob + end + setup do @previous_logger = ActiveJob::Base.logger ActiveJob::Base.logger = Logger.new(nil) @@ -35,7 +38,13 @@ class ParameterizedTest < ActiveSupport::TestCase end test "enqueue the email with params" do - assert_performed_with(job: ActionMailer::Parameterized::DeliveryJob, args: ["ParamsMailer", "invitation", "deliver_now", { inviter: "david@basecamp.com", invitee: "jason@basecamp.com" } ]) do + args = [ + "ParamsMailer", + "invitation", + "deliver_now", + { inviter: "david@basecamp.com", invitee: "jason@basecamp.com" }, + ] + assert_performed_with(job: ActionMailer::DeliveryJob, args: args) do @mail.deliver_later end end @@ -55,15 +64,26 @@ class ParameterizedTest < ActiveSupport::TestCase end test "should enqueue a parameterized request with the correct delivery job" do - old_delivery_job = ParamsMailer.parameterized_delivery_job - ParamsMailer.parameterized_delivery_job = ParameterizedDummyJob - - assert_performed_with(job: ParameterizedDummyJob, args: ["ParamsMailer", "invitation", "deliver_now", { inviter: "david@basecamp.com", invitee: "jason@basecamp.com" } ]) do - @mail.deliver_later + args = [ + "ParamsMailer", + "invitation", + "deliver_now", + { inviter: "david@basecamp.com", invitee: "jason@basecamp.com" }, + ] + + with_delivery_job DummyDeliveryJob do + assert_performed_with(job: DummyDeliveryJob, args: args) do + @mail.deliver_later + end end - - ParamsMailer.parameterized_delivery_job = old_delivery_job end - class ParameterizedDummyJob < ActionMailer::Parameterized::DeliveryJob; end + private + + def with_delivery_job(job) + old_delivery_job = ParamsMailer.delivery_job + ParamsMailer.delivery_job = job + ensure + ParamsMailer.delivery_job = old_delivery_job + end end |