I’ve been playing with block helpers for some time now, and I love them for their semantic goodness and clarity.
I know that Rails 2 has an assert_email method, which plays nicely with assert_select assert_select_email method.
However, as far as I could tell, this doesn’t allow you to assert any of the headers such as to, from, etc.
Enter assert_emails_sent:
def test_send_crash_data
device_id = 2
assert_email_sent :to => AdminNotifier::CLIENT_CRASH_EMAIL,
:from => AdminNotifier::SYSTEM_EMAIL,
:subject => "Application crashed.",
:body => /device id #{device_id} crashed.+whoops I crashed/ do
AdminNotifier.deliver_send_crash_data('whoops I crashed', device_id)
end
end
- One cool feature is that the values of :to and :from will be automagically sent #email, so you can just say :to => @user, as long as @user.responds_to?(:email).
- Another bonus feature is that you can use either strings or regexps.
grab the code here.


September 10th, 2008 at 05:34 PM
Shoulda comes with similar asserts now:
http://dev.thoughtbot.com/shoulda/classes/ThoughtBot/Shoulda/General.html#M000014
September 10th, 2008 at 05:34 PM
Shoulda comes with similar asserts now:
http://dev.thoughtbot.com/shoulda/classes/ThoughtBot/Shoulda/General.html#M000014