diff options
author | Matthew Mongeau <halogenandtoast@gmail.com> | 2017-06-15 16:12:44 +0900 |
---|---|---|
committer | Matthew Mongeau <halogenandtoast@gmail.com> | 2017-06-15 16:41:23 +0900 |
commit | d9bbde09fc57b29b889baadda18da943428fb06a (patch) | |
tree | ef40e7ea76e823d5562ada434a51501e5affcc28 /actionmailer/test | |
parent | f2af91a7908d3474746e20781a3118379189a7aa (diff) | |
download | rails-d9bbde09fc57b29b889baadda18da943428fb06a.tar.gz rails-d9bbde09fc57b29b889baadda18da943428fb06a.tar.bz2 rails-d9bbde09fc57b29b889baadda18da943428fb06a.zip |
Allow mailers to configure their delivery job
Setting delivery_job on a mailer class will cause MessageDelivery to use
the specified job instead of ActionMailer::DeliveryJob:
class MyMailer < ApplicationMailer
self.delivery_job = MyCustomDeliveryJob
...
end
Diffstat (limited to 'actionmailer/test')
-rw-r--r-- | actionmailer/test/message_delivery_test.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/actionmailer/test/message_delivery_test.rb b/actionmailer/test/message_delivery_test.rb index c0683be94d..51f10b0bf1 100644 --- a/actionmailer/test/message_delivery_test.rb +++ b/actionmailer/test/message_delivery_test.rb @@ -95,6 +95,19 @@ class MessageDeliveryTest < ActiveSupport::TestCase end end + test "should enqueue the job with the correct delivery job" do + old_delivery_job = DelayedMailer.delivery_job + DelayedMailer.delivery_job = DummyJob + + assert_performed_with(job: DummyJob, args: ["DelayedMailer", "test_message", "deliver_now", 1, 2, 3]) do + @mail.deliver_later + end + + DelayedMailer.delivery_job = old_delivery_job + end + + class DummyJob < ActionMailer::DeliveryJob; end + test "can override the queue when enqueuing mail" do assert_performed_with(job: ActionMailer::DeliveryJob, args: ["DelayedMailer", "test_message", "deliver_now", 1, 2, 3], queue: "another_queue") do @mail.deliver_later(queue: :another_queue) |