Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Extract Devises "raw" tokens from outgoing email, since the tokens stored in the DB have been digested. (As for Devise 3.1)

View devise_mail_helpers.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
module Features
module MailHelpers
 
def last_email
ActionMailer::Base.deliveries[0]
end
 
# Can be used like:
# extract_token_from_email(:reset_password)
def extract_token_from_email(token_name)
mail_body = last_email.body.to_s
mail_body[/#{token_name.to_s}_token=([^"]+)/, 1]
end
 
end
end
Owner

Per @josevalim, this seems to be the most reasonable way to do it. http://blog.plataformatec.com.br/2013/08/devise-3-1-now-with-more-secure-defaults/#comment-1000254578

Thanks @stevenharman - I've encountered the same problem and your gist really helped. I made some tiny tweaks to the regex and used text_part instead to make it work for me though (see fork).

Thank you! Helped me write my test!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.