summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-05-15 15:08:04 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-05-15 15:08:04 +0000
commitc4c1fc5fe7c756fc6f8f79eb1624b1bbe4fe2d69 (patch)
tree8c95e39fc4956cdd9178c46ea85cbeeeac3bc360 /spec/controllers
parent927df95cc4453bdacbc59960df32008b02c4e28a (diff)
downloadgitlab-ce-c4c1fc5fe7c756fc6f8f79eb1624b1bbe4fe2d69.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/application_controller_spec.rb39
-rw-r--r--spec/controllers/ldap/omniauth_callbacks_controller_spec.rb2
-rw-r--r--spec/controllers/omniauth_callbacks_controller_spec.rb2
3 files changed, 41 insertions, 2 deletions
diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb
index 32dd67de368..1935d05b470 100644
--- a/spec/controllers/application_controller_spec.rb
+++ b/spec/controllers/application_controller_spec.rb
@@ -914,4 +914,43 @@ describe ApplicationController do
expect(json_response['meta.caller_id']).to eq('AnonymousController#index')
end
end
+
+ describe '#current_user' do
+ controller(described_class) do
+ def index; end
+ end
+
+ let_it_be(:impersonator) { create(:user) }
+ let_it_be(:user) { create(:user) }
+
+ before do
+ sign_in(user)
+ end
+
+ context 'when being impersonated' do
+ before do
+ allow(controller).to receive(:session).and_return({ impersonator_id: impersonator.id })
+ end
+
+ it 'returns a User with impersonator', :aggregate_failures do
+ get :index
+
+ expect(controller.current_user).to be_a(User)
+ expect(controller.current_user.impersonator).to eq(impersonator)
+ end
+ end
+
+ context 'when not being impersonated' do
+ before do
+ allow(controller).to receive(:session).and_return({})
+ end
+
+ it 'returns a User', :aggregate_failures do
+ get :index
+
+ expect(controller.current_user).to be_a(User)
+ expect(controller.current_user.impersonator).to be_nil
+ end
+ end
+ end
end
diff --git a/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb b/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb
index 2e7d3746031..0242a91ac60 100644
--- a/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb
+++ b/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe Ldap::OmniauthCallbacksController, :do_not_mock_admin_mode do
+describe Ldap::OmniauthCallbacksController do
include_context 'Ldap::OmniauthCallbacksController'
it 'allows sign in' do
diff --git a/spec/controllers/omniauth_callbacks_controller_spec.rb b/spec/controllers/omniauth_callbacks_controller_spec.rb
index 4fcc251ec27..0d8a6827afe 100644
--- a/spec/controllers/omniauth_callbacks_controller_spec.rb
+++ b/spec/controllers/omniauth_callbacks_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe OmniauthCallbacksController, type: :controller, do_not_mock_admin_mode: true do
+describe OmniauthCallbacksController, type: :controller do
include LoginHelpers
describe 'omniauth' do