How to write a spec for an actionmailer method


#1

how to write a spec for an actionmailer method.

following is the method of action controller.

class Notifier < ActionMailer::Base

def conta(username ,adresseemail,code)
@subject = ‘Admin Confirmation Mail’
@recipients = adresseemail
@body[“Username”]= username
@body[“adresseemail”]= adresseemail
@body[:url] = “http://192.168.1.58:3002/login/activate/#{code}
@from =‘removed_email_address@domain.invalid’
@sent_on = Time.now
end

end

Regards

Salil


#2

On Mon, Apr 13, 2009 at 12:06 PM, Salil G. removed_email_address@domain.invalid
wrote:

how to write a spec for an actionmailer method.

Check out http://github.com/bmabey/email-spec/

Cheers,
David


#3

David C. wrote:

On Mon, Apr 13, 2009 at 12:06 PM, Salil G. removed_email_address@domain.invalid wrote:

how to write a spec for an actionmailer method.

Check out http://github.com/bmabey/email-spec/

Cheers,
David

Specifically, look at this example for an idea on how to use it with
RSpec:

http://github.com/bmabey/email-spec/blob/cdf3eeda4d28ef8b35bbce8af9ca7c493528332d/examples/rails_root/spec/models/user_mailer_spec.rb

-Ben


#4

http://github.com/bmabey/email-spec/blob/cdf3eeda4d28ef8b35bbce8af9ca7c493528332d/examples/rails_root/spec/models/user_mailer_spec.rb

-Ben

I try following and it works. i don’t know how but it pass the test
gives me 100% coverage and also i receive a test email.

describe ApplicationHelper do
it “should use ActionMailer to send a confirmation email” do
ActionMailer::Base.deliveries=[]
Notifier.deliver_conta(‘Salil’,‘removed_email_address@domain.invalid’, 123456)
end
end