aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2018-03-12 14:30:25 -0400
committerGannon McGibbon <gannon.mcgibbon@shopify.com>2018-03-12 15:35:18 -0400
commit96218b45680e210fcda647401cf4feeb60bfe41b (patch)
tree7936e43b9fc3cdf2a9d915ac265d115982632397 /actionmailer/lib
parent309bb6c4d068b0d480681cf4ef1b90158527dfe5 (diff)
downloadrails-96218b45680e210fcda647401cf4feeb60bfe41b.tar.gz
rails-96218b45680e210fcda647401cf4feeb60bfe41b.tar.bz2
rails-96218b45680e210fcda647401cf4feeb60bfe41b.zip
Perform email jobs in #assert_emails
Perform enqueued delivery jobs in #assert_emails and #assert_no_emails.
Diffstat (limited to 'actionmailer/lib')
-rw-r--r--actionmailer/lib/action_mailer/test_helper.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/actionmailer/lib/action_mailer/test_helper.rb b/actionmailer/lib/action_mailer/test_helper.rb
index 8ee4d06915..ec748236b4 100644
--- a/actionmailer/lib/action_mailer/test_helper.rb
+++ b/actionmailer/lib/action_mailer/test_helper.rb
@@ -14,7 +14,7 @@ module ActionMailer
# assert_emails 0
# ContactMailer.welcome.deliver_now
# assert_emails 1
- # ContactMailer.welcome.deliver_now
+ # ContactMailer.welcome.deliver_later
# assert_emails 2
# end
#
@@ -28,17 +28,19 @@ module ActionMailer
#
# assert_emails 2 do
# ContactMailer.welcome.deliver_now
- # ContactMailer.welcome.deliver_now
+ # ContactMailer.welcome.deliver_later
# end
# end
- def assert_emails(number)
+ def assert_emails(number, &block)
if block_given?
original_count = ActionMailer::Base.deliveries.size
- yield
+ perform_enqueued_jobs(only: [ActionMailer::DeliveryJob, ActionMailer::Parameterized::DeliveryJob], &block)
new_count = ActionMailer::Base.deliveries.size
assert_equal number, new_count - original_count, "#{number} emails expected, but #{new_count - original_count} were sent"
else
- assert_equal number, ActionMailer::Base.deliveries.size
+ perform_enqueued_jobs(only: [ActionMailer::DeliveryJob, ActionMailer::Parameterized::DeliveryJob]) do
+ assert_equal number, ActionMailer::Base.deliveries.size
+ end
end
end