Sha256: 38f74bd773bc1479a50cd8a879e766c4d8408ca3f28e638f248925e2ef56b818
Contents?: true
Size: 1.21 KB
Versions: 4
Compression:
Stored size: 1.21 KB
Contents
require 'spec_helper' describe MasqueradesTestsController, type: :controller do before { @request.env['devise.mapping'] = Devise.mappings[:user] } context 'no access for masquerade' do before do session.clear allow_any_instance_of(MasqueradesTestsController).to receive(:masquerade_authorized?) { false } end before { logged_in } let(:mask) { create(:user) } before { get :show, params: { id: mask.to_param, masquerade: mask.masquerade_key } } it { expect(response.status).to eq(403) } it { expect(Rails.cache.read('devise_masquerade_user')).not_to be } it { expect(session['warden.user.user.key'].first.first).not_to eq(mask.id) } end context 'access for masquerade' do before do session.clear allow_any_instance_of(MasqueradesTestsController).to receive(:masquerade_authorized?) { true } end before { logged_in } let(:mask) { create(:user) } before do get :show, params: { id: mask.to_param, masquerade: mask.masquerade_key } end it { expect(response.status).to eq(302) } it { expect(Rails.cache.read('devise_masquerade_user')).to be } it { expect(session['warden.user.user.key'].first.first).to eq(mask.id) } end end
Version data entries
4 entries across 4 versions & 1 rubygems