mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make assert_enqueued_emails + assert_no_enqueued_emails consider parameterized delivery jobs
Needed for testing of parameterized mailers
This commit is contained in:
parent
6b7bfece37
commit
d5651436d6
2 changed files with 20 additions and 2 deletions
|
@ -88,7 +88,7 @@ module ActionMailer
|
|||
# end
|
||||
# end
|
||||
def assert_enqueued_emails(number, &block)
|
||||
assert_enqueued_jobs number, only: ActionMailer::DeliveryJob, &block
|
||||
assert_enqueued_jobs number, only: [ ActionMailer::DeliveryJob, ActionMailer::Parameterized::DeliveryJob ], &block
|
||||
end
|
||||
|
||||
# Asserts that no emails are enqueued for later delivery.
|
||||
|
@ -107,7 +107,7 @@ module ActionMailer
|
|||
# end
|
||||
# end
|
||||
def assert_no_enqueued_emails(&block)
|
||||
assert_no_enqueued_jobs only: ActionMailer::DeliveryJob, &block
|
||||
assert_no_enqueued_jobs only: [ ActionMailer::DeliveryJob, ActionMailer::Parameterized::DeliveryJob ], &block
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -143,6 +143,16 @@ class TestHelperMailerTest < ActionMailer::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_assert_enqueued_parameterized_emails
|
||||
assert_nothing_raised do
|
||||
assert_enqueued_emails 1 do
|
||||
silence_stream($stdout) do
|
||||
TestHelperMailer.with(a: 1).test.deliver_later
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_assert_enqueued_emails_too_few_sent
|
||||
error = assert_raise ActiveSupport::TestCase::Assertion do
|
||||
assert_enqueued_emails 2 do
|
||||
|
@ -176,6 +186,14 @@ class TestHelperMailerTest < ActionMailer::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_assert_no_enqueued_parameterized_emails
|
||||
assert_nothing_raised do
|
||||
assert_no_enqueued_emails do
|
||||
TestHelperMailer.with(a: 1).test.deliver_now
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_assert_no_enqueued_emails_failure
|
||||
error = assert_raise ActiveSupport::TestCase::Assertion do
|
||||
assert_no_enqueued_emails do
|
||||
|
|
Loading…
Reference in a new issue