Skip to content
Browse files

Increase mail delivery test coverage. Closes #8692.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7070 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent bf28015 commit e963354124d27bdae0420ae0614335d251be8d51 @jeremy jeremy committed
Showing with 26 additions and 2 deletions.
  1. +2 −0 actionmailer/CHANGELOG
  2. +11 −2 actionmailer/test/mail_service_test.rb
  3. +13 −0 actionmailer/test/test_helper_test.rb
View
2 actionmailer/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Increase mail delivery test coverage. #8692 [kamal]
+
* Register alternative template engines using ActionMailer::Base.register_template_extension('haml'). #7534 [cwd, Josh Peek]
* Only load ActionController::UrlWriter if ActionController is present [Rick Olson]
View
13 actionmailer/test/mail_service_test.rb
@@ -276,7 +276,7 @@ def new_mail( charset="utf-8" )
def setup
ActionMailer::Base.delivery_method = :test
ActionMailer::Base.perform_deliveries = true
- ActionMailer::Base.raise_delivery_errors
+ ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.deliveries = []
@original_logger = TestMailer.logger
@@ -489,7 +489,16 @@ def test_doesnt_raise_errors_when_raise_delivery_errors_is_false
TestMailer.any_instance.expects(:perform_delivery_test).raises(Exception)
assert_nothing_raised { TestMailer.deliver_signed_up(@recipient) }
end
-
+
+ def test_performs_delivery_via_sendmail
+ sm = mock()
+ sm.expects(:print).with(anything)
+ sm.expects(:flush)
+ IO.expects(:popen).once.with('/usr/sbin/sendmail -i -t', 'w+').yields(sm)
+ ActionMailer::Base.delivery_method = :sendmail
+ TestMailer.deliver_signed_up(@recipient)
+ end
+
def test_delivery_logs_sent_mail
mail = TestMailer.create_signed_up(@recipient)
logger = mock()
View
13 actionmailer/test/test_helper_test.rb
@@ -38,6 +38,19 @@ def test_repeated_assert_emails_calls
end
end
+ def test_assert_emails_with_no_block
+ assert_nothing_raised do
+ TestHelperMailer.deliver_test
+ assert_emails 1
+ end
+
+ assert_nothing_raised do
+ TestHelperMailer.deliver_test
+ TestHelperMailer.deliver_test
+ assert_emails 3
+ end
+ end
+
def test_assert_no_emails
assert_nothing_raised do
assert_no_emails do

0 comments on commit e963354

Please sign in to comment.
Something went wrong with that request. Please try again.