Add option to disable two factor auth in admin accounts panel. (#2584)

* Add option to disable two factor auth in admin accounts panel.
Closes #2578

* Add @mjankowski's suggestions.
* Moves destroy actions behind User#disable_two_factor!
* Adds spec coverage for Admin:TwoFactorAuthenticationsController and User#disable_two_factor!
This commit is contained in:
Kaylee
2017-05-02 20:07:12 +01:00
committed by Eugen Rochko
parent b5eec34230
commit 7880671f35
7 changed files with 62 additions and 0 deletions

View File

@ -126,6 +126,20 @@ RSpec.describe User, type: :model do
end
end
describe '#disable_two_factor!' do
it 'sets otp_required_for_login to false' do
user = Fabricate.build(:user, otp_required_for_login: true)
user.disable_two_factor!
expect(user.otp_required_for_login).to be false
end
it 'clears otp_backup_codes' do
user = Fabricate.build(:user, otp_backup_codes: %w[dummy dummy])
user.disable_two_factor!
expect(user.otp_backup_codes.empty?).to be true
end
end
describe 'whitelist' do
around(:each) do |example|
old_whitelist = Rails.configuration.x.email_whitelist