mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
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.
This commit is contained in:
parent
e3b12f6cb8
commit
f870c4d063
1 changed files with 4 additions and 4 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue