* 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!closed-social-v3
@ -0,0 +1,18 @@ | |||||
# frozen_string_literal: true | |||||
module Admin | |||||
class TwoFactorAuthenticationsController < BaseController | |||||
before_action :set_user | |||||
def destroy | |||||
@user.disable_two_factor! | |||||
redirect_to admin_accounts_path | |||||
end | |||||
private | |||||
def set_user | |||||
@user = User.find(params[:user_id]) | |||||
end | |||||
end | |||||
end |
@ -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 |