mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Add tests for mail with proc.
This commit is contained in:
parent
37119616ff
commit
6bb1901830
5 changed files with 25 additions and 2 deletions
|
@ -1,3 +1,6 @@
|
|||
* bug fix
|
||||
* Fix bug with passenger, update is required to anyone deploying on passenger
|
||||
|
||||
== 0.8.1
|
||||
|
||||
* enhancements
|
||||
|
|
|
@ -19,7 +19,7 @@ class DeviseMailer < ::ActionMailer::Base
|
|||
raise "Invalid devise resource #{record}" unless mapping
|
||||
|
||||
subject translate(mapping, key)
|
||||
from Devise.mailer_sender.is_a?(Proc) ? Devise.mailer_sender.call(mapping.name) : Devise.mailer_sender
|
||||
from mailer_sender(mapping)
|
||||
recipients record.email
|
||||
sent_on Time.now
|
||||
content_type 'text/html'
|
||||
|
@ -38,6 +38,14 @@ class DeviseMailer < ::ActionMailer::Base
|
|||
end
|
||||
end
|
||||
|
||||
def mailer_sender(mapping)
|
||||
if Devise.mailer_sender.is_a?(Proc)
|
||||
Devise.mailer_sender.call(mapping.name)
|
||||
else
|
||||
Devise.mailer_sender
|
||||
end
|
||||
end
|
||||
|
||||
# Setup subject namespaced by model. It means you're able to setup your
|
||||
# messages using specific resource scope, or provide a default one.
|
||||
# Example (i18n locale file):
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# After each sign in, update sign in time, sign in count and sign in IP.
|
||||
Warden::Manager.after_set_user :event => [:authentication, :set_user] do |record, warden, options|
|
||||
Warden::Manager.after_set_user :except => :fetch do |record, warden, options|
|
||||
scope = options[:scope]
|
||||
if Devise.mappings[scope].try(:trackable?) && warden.authenticated?(scope)
|
||||
old_current, new_current = record.current_sign_in_at, Time.now
|
||||
|
|
|
@ -62,4 +62,10 @@ class ConfirmationInstructionsTest < ActionMailer::TestCase
|
|||
assert_equal user.email, mail.body
|
||||
end
|
||||
end
|
||||
|
||||
test 'mailer sender accepts a proc' do
|
||||
swap Devise, :mailer_sender => lambda { "another@example.com" } do
|
||||
assert_equal ['another@example.com'], mail.from
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -59,4 +59,10 @@ class ResetPasswordInstructionsTest < ActionMailer::TestCase
|
|||
reset_url_regexp = %r{<a href=\"http://#{host}/users/password/edit\?reset_password_token=#{user.reset_password_token}">}
|
||||
assert_match reset_url_regexp, mail.body
|
||||
end
|
||||
|
||||
test 'mailer sender accepts a proc' do
|
||||
swap Devise, :mailer_sender => lambda { "another@example.com" } do
|
||||
assert_equal ['another@example.com'], mail.from
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue