mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
use :test delivery method for base_test.rb
This solves errors like: ``` BaseTest#test_you_can_register_multiple_observers_to_the_mail_object_that_both_get_informed_on_email_delivery: Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 25 /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `initialize' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `open' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:541:in `tcp_socket' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:551:in `block in do_start' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `call' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `timeout' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:550:in `do_start' /Users/senny/.rbenv/versions/2.1.2/lib/ruby/2.1.0/net/smtp.rb:520:in `start' /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!' /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:2136:in `do_delivery' /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:232:in `block in deliver' /Users/senny/Projects/rails/actionmailer/lib/action_mailer/base.rb:528:in `block in deliver_mail' /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:164:in `block in instrument' /Users/senny/Projects/rails/activesupport/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:164:in `instrument' /Users/senny/Projects/rails/actionmailer/lib/action_mailer/base.rb:526:in `deliver_mail' /Users/senny/Projects/rails/.bundle/gems/mail-2.6.1/lib/mail/message.rb:232:in `deliver' /Users/senny/Projects/rails/actionmailer/test/base_test.rb:598:in `block (2 levels) in <class:BaseTest>' /Users/senny/Projects/rails/actionmailer/test/base_test.rb:801:in `mail_side_effects' /Users/senny/Projects/rails/actionmailer/test/base_test.rb:593:in `block in <class:BaseTest>' ``` where the `:smtp` delivery method was leaked over to other test cases.
This commit is contained in:
parent
2ef0d3bea6
commit
e9ce987a9a
2 changed files with 3 additions and 6 deletions
|
@ -51,8 +51,3 @@ def jruby_skip(message = '')
|
|||
end
|
||||
|
||||
require 'mocha/setup' # FIXME: stop using mocha
|
||||
|
||||
# FIXME: we have tests that depend on run order, we should fix that and
|
||||
# remove this method call.
|
||||
require 'active_support/test_case'
|
||||
ActiveSupport::TestCase.my_tests_are_order_dependent!
|
||||
|
|
|
@ -11,6 +11,8 @@ require 'mailers/asset_mailer'
|
|||
|
||||
class BaseTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@original_delivery_method = ActionMailer::Base.delivery_method
|
||||
ActionMailer::Base.delivery_method = :test
|
||||
@original_asset_host = ActionMailer::Base.asset_host
|
||||
@original_assets_dir = ActionMailer::Base.assets_dir
|
||||
end
|
||||
|
@ -19,6 +21,7 @@ class BaseTest < ActiveSupport::TestCase
|
|||
ActionMailer::Base.asset_host = @original_asset_host
|
||||
ActionMailer::Base.assets_dir = @original_assets_dir
|
||||
BaseMailer.deliveries.clear
|
||||
ActionMailer::Base.delivery_method = @original_delivery_method
|
||||
end
|
||||
|
||||
test "method call to mail does not raise error" do
|
||||
|
@ -468,7 +471,6 @@ class BaseTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
test "calling deliver on the action should increment the deliveries collection if using the test mailer" do
|
||||
BaseMailer.delivery_method = :test
|
||||
BaseMailer.welcome.deliver
|
||||
assert_equal(1, BaseMailer.deliveries.length)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue