2013-10-22 16 views
8

Also mein Kunde hat berichtet, dass viele der E-Mails an die falsche Person gehen, und ich möchte einige Feature-Tests schreiben, um zu finden und sicherzustellen, dass sie die E-Mail erhalten und was es sagt in meinen Spezifikationen. Ich habe mandrill_mailer, der Mandril API verwendet, und bevor es sendet, möchte ich sehen, was die Nachricht ist.Wie teste ich mandrill api mit rspec

Zum Beispiel. Erstellen Sie ein neues Benutzerkonto -> erstellt den Benutzer und sendet dann eine Willkommens-E-Mail. in devise nennt es RegistrationMailer.new_registration (Ressource) .deliver , die dann eine E-Mail an den Benutzer sendet:

def new_registration(user) 
user = User.find_by_email(user["email"]) 
mandrill_mail template: 'new-registration', 
subject: 'Welcome to ContentBlvd!', 
to: { email: user["email"], name: user["full_name"] }, 
vars: { 
    'first_name' => user["full_name"], 
    'unsubscribe' => "#{CONFIG[:protocol]}#{CONFIG[:host]}/unsubscribe?email=#{user.email}" 
} 

Ende

In meinem Mailer Wie teste ich dieses E-Mail-Objekt?
Ich habe versucht ActionMailer :: Base.deliveries, aber es gibt nil zurück (Da ich Mandrill Mailer verwende ...) So versuchte ich - MandrillMailer :: TemplateMailer.message Aber kein Glück .... Danke für die Hilfe .

Antwort

1

An dieser Stelle erscheint MandrillMailer eine robust offline testing Reihe von Optionen zu unterstützen. Insbesondere kann MandrillMailer.deliveries jetzt auf Erwartungen oder Debugging-Zwecke untersucht werden.

Verwandte Themen