How To Mock A Chain (specifically ActionMailerModel.method.deliver)

Hi,

In Rails 3 you deliver a mail message with the
ActionMailerModel.method.deliver syntax (e.g.
Notifier.welcome_message.deliver). How do you test that this method is
called in Rspec. I’m looking for an equivalent to “stub_chain” which
has expectations. I’m testing that messages are sent on certain events
in the object life cycle (e.g. that an email is sent when an Award is
created).

I know it’s possible to abstract welcome_message.deliver into a single
method call, but this seems overly inconvenient for such a simple
case.

Anyone any ideas on how to solve this problem?

Kind Regards,

Jack K.

On Wed, Nov 17, 2010 at 12:49 PM, Jack K.
[email protected] wrote:

I know it’s possible to abstract welcome_message.deliver into a single
method call, but this seems overly inconvenient for such a simple
case.

Anyone any ideas on how to solve this problem?

See this thread:
http://groups.google.com/group/rspec/browse_thread/thread/6b8394836d2390b0#

Cheers,
David

Cheers, very insightful. I liked your point about ease of testing
having an inherent value.