aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test
diff options
context:
space:
mode:
authorLuke Pearce <30228+kule@users.noreply.github.com>2018-10-05 16:53:28 +0100
committerLuke Pearce <30228+kule@users.noreply.github.com>2018-10-05 17:02:40 +0100
commitc90c6c1344e62d5705f92efc323016a83a1e7351 (patch)
tree9c268caf151cee8ba4154c94d85fa542bb70ddd0 /actionmailer/test
parent0d4b2e4da6532b07d6321eb158a62ef3924917da (diff)
downloadrails-c90c6c1344e62d5705f92efc323016a83a1e7351.tar.gz
rails-c90c6c1344e62d5705f92efc323016a83a1e7351.tar.bz2
rails-c90c6c1344e62d5705f92efc323016a83a1e7351.zip
Parameterized mailers can configure delivery job
Setting parameterized_delivery_job on a mailer class will cause Parameterized::MessageDelivery to use the specified job instead of ActionMailer::Parameterized::DeliveryJob: class MyMailer < ApplicationMailer self.parameterized_delivery_job = MyCustomDeliveryJob ... end
Diffstat (limited to 'actionmailer/test')
-rw-r--r--actionmailer/test/parameterized_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/actionmailer/test/parameterized_test.rb b/actionmailer/test/parameterized_test.rb
index ec6c5e9e67..d3b34fc3e3 100644
--- a/actionmailer/test/parameterized_test.rb
+++ b/actionmailer/test/parameterized_test.rb
@@ -53,4 +53,17 @@ class ParameterizedTest < ActiveSupport::TestCase
invitation = mailer.method(:anything)
end
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
+ end
+
+ ParamsMailer.parameterized_delivery_job = old_delivery_job
+ end
+
+ class ParameterizedDummyJob < ActionMailer::Parameterized::DeliveryJob; end
end