mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 19:02:40 +08:00
FEATURE: log impersonations
This commit is contained in:
@ -6,7 +6,6 @@ describe Admin::ImpersonateController do
|
||||
(Admin::ImpersonateController < Admin::AdminController).should == true
|
||||
end
|
||||
|
||||
|
||||
context 'while logged in as an admin' do
|
||||
let!(:admin) { log_in(:admin) }
|
||||
let(:user) { Fabricate(:user) }
|
||||
@ -21,7 +20,7 @@ describe Admin::ImpersonateController do
|
||||
context 'create' do
|
||||
|
||||
it 'requires a username_or_email parameter' do
|
||||
lambda { xhr :put, :create }.should raise_error(ActionController::ParameterMissing)
|
||||
-> { xhr :put, :create }.should raise_error(ActionController::ParameterMissing)
|
||||
end
|
||||
|
||||
it 'returns 404 when that user does not exist' do
|
||||
@ -37,6 +36,11 @@ describe Admin::ImpersonateController do
|
||||
|
||||
context 'success' do
|
||||
|
||||
it "logs the impersonation" do
|
||||
StaffActionLogger.any_instance.expects(:log_impersonate)
|
||||
xhr :post, :create, username_or_email: user.username
|
||||
end
|
||||
|
||||
it "changes the current user session id" do
|
||||
xhr :post, :create, username_or_email: user.username
|
||||
session[:current_user_id].should == user.id
|
||||
@ -58,6 +62,4 @@ describe Admin::ImpersonateController do
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
Reference in New Issue
Block a user