aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/base_test.rb
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2014-03-15 18:56:32 -0400
committerArthur Neves <arthurnn@gmail.com>2014-03-15 18:56:32 -0400
commitf870c4d063f6ac3b5fe96670955a08fcd7e15e67 (patch)
tree39740a67f230260103e90d7564c203517c05731d /actionmailer/test/base_test.rb
parente3b12f6cb89ff0c5641e80fa9be904b4ed6fabb6 (diff)
downloadrails-f870c4d063f6ac3b5fe96670955a08fcd7e15e67.tar.gz
rails-f870c4d063f6ac3b5fe96670955a08fcd7e15e67.tar.bz2
rails-f870c4d063f6ac3b5fe96670955a08fcd7e15e67.zip
Fix MailerPreview broken tests
`BaseMailerPreview.welcome` is an instance method, so we need to stub the method on a instance level and not on Class. The stub is important to make sure the Message object is the same in the other expectations. This was working randomly because Mocha uses == to compare two objects on the `with()` expectation and even if the Mail::Message objects were not the same object they are equal, but thats not the case in 100% of the runs. So we need to make sure we use `.any_instance` method and have the right message object.
Diffstat (limited to 'actionmailer/test/base_test.rb')
-rw-r--r--actionmailer/test/base_test.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb
index d4a89a17ee..b66e5bd6a3 100644
--- a/actionmailer/test/base_test.rb
+++ b/actionmailer/test/base_test.rb
@@ -594,7 +594,7 @@ class BaseTest < ActiveSupport::TestCase
test "you can register a preview interceptor to the mail object that gets passed the mail object before previewing" do
ActionMailer::Base.register_preview_interceptor(MyInterceptor)
mail = BaseMailer.welcome
- BaseMailerPreview.stubs(:welcome).returns(mail)
+ BaseMailerPreview.any_instance.stubs(:welcome).returns(mail)
MyInterceptor.expects(:previewing_email).with(mail)
BaseMailerPreview.call(:welcome)
end
@@ -602,7 +602,7 @@ class BaseTest < ActiveSupport::TestCase
test "you can register a preview interceptor using its stringified name to the mail object that gets passed the mail object before previewing" do
ActionMailer::Base.register_preview_interceptor("BaseTest::MyInterceptor")
mail = BaseMailer.welcome
- BaseMailerPreview.stubs(:welcome).returns(mail)
+ BaseMailerPreview.any_instance.stubs(:welcome).returns(mail)
MyInterceptor.expects(:previewing_email).with(mail)
BaseMailerPreview.call(:welcome)
end
@@ -610,7 +610,7 @@ class BaseTest < ActiveSupport::TestCase
test "you can register an interceptor using its symbolized underscored name to the mail object that gets passed the mail object before previewing" do
ActionMailer::Base.register_preview_interceptor(:"base_test/my_interceptor")
mail = BaseMailer.welcome
- BaseMailerPreview.stubs(:welcome).returns(mail)
+ BaseMailerPreview.any_instance.stubs(:welcome).returns(mail)
MyInterceptor.expects(:previewing_email).with(mail)
BaseMailerPreview.call(:welcome)
end
@@ -618,7 +618,7 @@ class BaseTest < ActiveSupport::TestCase
test "you can register multiple preview interceptors to the mail object that both get passed the mail object before previewing" do
ActionMailer::Base.register_preview_interceptors("BaseTest::MyInterceptor", MySecondInterceptor)
mail = BaseMailer.welcome
- BaseMailerPreview.stubs(:welcome).returns(mail)
+ BaseMailerPreview.any_instance.stubs(:welcome).returns(mail)
MyInterceptor.expects(:previewing_email).with(mail)
MySecondInterceptor.expects(:previewing_email).with(mail)
BaseMailerPreview.call(:welcome)