metamaps--metamaps/spec/support/controller_helpers.rb
2015-12-16 22:19:58 +08:00

15 lines
571 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