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:
parent
b5eec34230
commit
7880671f35
7 changed files with 62 additions and 0 deletions
|
@ -0,0 +1,17 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Admin::TwoFactorAuthenticationsController do
|
||||
render_views
|
||||
|
||||
let(:user) { Fabricate(:user) }
|
||||
before do
|
||||
sign_in Fabricate(:user, admin: true), scope: :user
|
||||
end
|
||||
|
||||
describe 'DELETE #destroy' do
|
||||
it 'redirects to admin accounts page' do
|
||||
delete :destroy, params: { user_id: user.id }
|
||||
expect(response).to redirect_to(admin_accounts_path)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue