Add disable_two_factor route for Admin::Users
This commit is contained in:
parent
22724418d3
commit
800df45db2
3 changed files with 35 additions and 0 deletions
|
@ -55,6 +55,12 @@ class Admin::UsersController < Admin::ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def disable_two_factor
|
||||
user.disable_two_factor!
|
||||
redirect_to admin_user_path(user),
|
||||
notice: 'Two-factor Authentication has been disabled for this user'
|
||||
end
|
||||
|
||||
def create
|
||||
opts = {
|
||||
force_random_password: true,
|
||||
|
|
|
@ -159,6 +159,7 @@ Gitlab::Application.routes.draw do
|
|||
put :block
|
||||
put :unblock
|
||||
put :unlock
|
||||
patch :disable_two_factor
|
||||
delete 'remove/:email_id', action: 'remove_email', as: 'remove_email'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,4 +36,32 @@ describe Admin::UsersController do
|
|||
expect(user.access_locked?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
describe 'PATCH disable_two_factor' do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
it 'disables 2FA for the user' do
|
||||
expect(user).to receive(:disable_two_factor!)
|
||||
allow(subject).to receive(:user).and_return(user)
|
||||
|
||||
go
|
||||
end
|
||||
|
||||
it 'redirects back' do
|
||||
go
|
||||
|
||||
expect(response).to redirect_to(admin_user_path(user))
|
||||
end
|
||||
|
||||
it 'displays an alert' do
|
||||
go
|
||||
|
||||
expect(flash[:notice]).
|
||||
to eq 'Two-factor Authentication has been disabled for this user'
|
||||
end
|
||||
|
||||
def go
|
||||
patch :disable_two_factor, id: user.to_param
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue