summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorPatrick Figel <patrick@figel.email>2018-01-02 16:55:00 +0100
committerEugen Rochko <eugen@zeonfederated.com>2018-01-02 16:55:00 +0100
commit04ecf44c2f78ae29911027352a3e9fb21187e20c (patch)
treeb7cd1393ef5c0a938d5c928327f563f4bb206290 /spec
parentb6af88192ff48372c5f6ed1321f21d99aaffcd3f (diff)
Add confirmation step for email changes (#6071)
* Add confirmation step for email changes This adds a confirmation step for email changes of existing users. Like the initial account confirmation, a confirmation link is sent to the new address. Additionally, a notification is sent to the existing address when the change is initiated. This message includes instruction to reset the password immediately or to contact the instance admin if the change was not initiated by the account owner. Fixes #3871 * Add review fixes
Diffstat (limited to 'spec')
-rw-r--r--spec/mailers/user_mailer_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb
index 1f6d4401543..9f17993e0ef 100644
--- a/spec/mailers/user_mailer_spec.rb
+++ b/spec/mailers/user_mailer_spec.rb
@@ -33,6 +33,20 @@ describe UserMailer, type: :mailer do
instance: Rails.configuration.x.local_domain
end
+ describe 'reconfirmation_instructions' do
+ let(:mail) { UserMailer.confirmation_instructions(receiver, 'spec') }
+
+ it 'renders reconfirmation instructions' do
+ receiver.update!(email: 'new-email@example.com', locale: nil)
+ expect(mail.body.encoded).to include 'new-email@example.com'
+ expect(mail.body.encoded).to include 'spec'
+ expect(mail.body.encoded).to include Rails.configuration.x.local_domain
+ expect(mail.subject).to eq I18n.t('devise.mailer.reconfirmation_instructions.subject',
+ instance: Rails.configuration.x.local_domain,
+ locale: I18n.default_locale)
+ end
+ end
+
describe 'reset_password_instructions' do
let(:mail) { UserMailer.reset_password_instructions(receiver, 'spec') }
@@ -57,4 +71,16 @@ describe UserMailer, type: :mailer do
include_examples 'localized subject',
'devise.mailer.password_change.subject'
end
+
+ describe 'email_changed' do
+ let(:mail) { UserMailer.email_changed(receiver) }
+
+ it 'renders email change notification' do
+ receiver.update!(locale: nil)
+ expect(mail.body.encoded).to include receiver.email
+ end
+
+ include_examples 'localized subject',
+ 'devise.mailer.email_changed.subject'
+ end
end