aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2014-06-06 13:30:30 -0300
committerSantiago Pastorino <santiago@wyeworks.com>2014-06-06 13:30:30 -0300
commit0502189b504640a95a4729fac5c6a41c27de960f (patch)
tree605cd59844aad17a929f137be18cd98318089681 /actionmailer
parentecd4151aa829214c7b10f24bc5eca194089b4319 (diff)
parentc4f4123ef45463a09b36186047dbdc82f933fe46 (diff)
downloadrails-0502189b504640a95a4729fac5c6a41c27de960f.tar.gz
rails-0502189b504640a95a4729fac5c6a41c27de960f.tar.bz2
rails-0502189b504640a95a4729fac5c6a41c27de960f.zip
Merge pull request #15544 from zuhao/refactor_actionmailer_test_case
Restore test deliveries properly in ActionMailer.
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/lib/action_mailer/test_case.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/actionmailer/lib/action_mailer/test_case.rb b/actionmailer/lib/action_mailer/test_case.rb
index 207f949fe2..a5442c0316 100644
--- a/actionmailer/lib/action_mailer/test_case.rb
+++ b/actionmailer/lib/action_mailer/test_case.rb
@@ -20,6 +20,7 @@ module ActionMailer
class_attribute :_mailer_class
setup :initialize_test_deliveries
setup :set_expected_mail
+ teardown :restore_test_deliveries
end
module ClassMethods
@@ -54,8 +55,15 @@ module ActionMailer
protected
def initialize_test_deliveries
+ @old_delivery_method = ActionMailer::Base.delivery_method
+ @old_perform_deliveries = ActionMailer::Base.perform_deliveries
ActionMailer::Base.delivery_method = :test
ActionMailer::Base.perform_deliveries = true
+ end
+
+ def restore_test_deliveries
+ ActionMailer::Base.delivery_method = @old_delivery_method
+ ActionMailer::Base.perform_deliveries = @old_perform_deliveries
ActionMailer::Base.deliveries.clear
end