15 lines
576 B
Ruby
15 lines
576 B
Ruby
|
# https://github.com/plataformatec/devise/wiki/How-To:-Stub-authentication-in-controller-specs
|
||
|
module ControllerHelpers
|
||
|
def sign_in(user = create(:user))
|
||
|
if user.nil?
|
||
|
# simulate unauthenticated
|
||
|
allow(request.env['warden']).to receive(:authenticate!).and_throw(:warden, {:scope => :user})
|
||
|
allow(controller).to receive(:current_user).and_return(nil)
|
||
|
else
|
||
|
# simulate authenticated
|
||
|
allow(request.env['warden']).to receive(:authenticate!).and_return(user)
|
||
|
allow(controller).to receive(:current_user).and_return(user)
|
||
|
end
|
||
|
end
|
||
|
end
|