diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-07-13 11:47:55 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-07-13 11:47:55 +0300 |
commit | d93da8bed598249c67b71b3acdd4944952e80db2 (patch) | |
tree | 598b507e1be2a5c6aba787867477f6fe0235cf7a /spec/models | |
parent | 10d5da784b130f6227dd8074dfc51f9627293031 (diff) | |
parent | 22724418d350001e2683b68fad65186af783d3f2 (diff) |
Merge branch 'rs-disable-2fa' into 'master'
Add User#disable_two_factor!
This method encapsulates all the logic for disabling 2FA on a specific
User model.
See merge request !961
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/user_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 6d2423ae27a..16902317f10 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -217,6 +217,24 @@ describe User do end end + describe '#disable_two_factor!' do + it 'clears all 2FA-related fields' do + user = create(:user, :two_factor) + + expect(user).to be_two_factor_enabled + expect(user.encrypted_otp_secret).not_to be_nil + expect(user.otp_backup_codes).not_to be_nil + + user.disable_two_factor! + + expect(user).not_to be_two_factor_enabled + expect(user.encrypted_otp_secret).to be_nil + expect(user.encrypted_otp_secret_iv).to be_nil + expect(user.encrypted_otp_secret_salt).to be_nil + expect(user.otp_backup_codes).to be_nil + end + end + describe 'projects' do before do @user = create :user |