diff options
author | Patrick Figel <patrick@figel.email> | 2018-01-05 00:15:35 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-01-05 00:15:35 +0100 |
commit | 5ec25ff3e1c53a4feab1e9b9a3f1660cca538c23 (patch) | |
tree | 0ce4c7b587c6fe35d4f1fb27cfdf394b8dc4bec9 /spec/models | |
parent | 49e296e1b03ffe2b17fb390b6ad298172b25040f (diff) |
Fix email confirmation link not updating email (#6187)
A change introduced in #6125 prevents `Devise::Models::Confirmable#confirm` from being called for existing users, which in turn leads to `email` not being set to `unconfirmed_email`, breaking email updates. This also adds a test that would've caught this issue.
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/user_spec.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 5ed7ed88b..8171c939a 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -148,6 +148,14 @@ RSpec.describe User, type: :model do end end + describe '#confirm' do + it 'sets email to unconfirmed_email' do + user = Fabricate.build(:user, confirmed_at: Time.now.utc, unconfirmed_email: 'new-email@example.com') + user.confirm + expect(user.email).to eq 'new-email@example.com' + end + end + describe '#disable_two_factor!' do it 'saves false for otp_required_for_login' do user = Fabricate.build(:user, otp_required_for_login: true) |