52 lines
976 B
Ruby
52 lines
976 B
Ruby
|
require 'spec_helper'
|
||
|
require 'warden/test/helpers'
|
||
|
|
||
|
RSpec.describe API, :type => :request do
|
||
|
include Warden::Test::Helpers
|
||
|
|
||
|
let(:user) { build(:user) }
|
||
|
|
||
|
after{ Warden.test_reset! }
|
||
|
|
||
|
it "should return the current user" do
|
||
|
login_as user, scope: :user
|
||
|
|
||
|
get "/me"
|
||
|
|
||
|
response.body.should eq(user.to_json)
|
||
|
end
|
||
|
|
||
|
it "should return an error if not logged in" do
|
||
|
login_as nil, scope: :user
|
||
|
|
||
|
get "/me"
|
||
|
|
||
|
response.code.should eq("401")
|
||
|
end
|
||
|
|
||
|
it "should return true if logged in" do
|
||
|
login_as user, scope: :user
|
||
|
|
||
|
get "/authorized"
|
||
|
|
||
|
response.body.should eq("true")
|
||
|
end
|
||
|
|
||
|
it "should return false if logged out" do
|
||
|
login_as nil, scope: :user
|
||
|
|
||
|
get "/authorized"
|
||
|
|
||
|
response.body.should eq("false")
|
||
|
end
|
||
|
|
||
|
it "should log in the user" do
|
||
|
User.stub :find_for_database_authentication do
|
||
|
user
|
||
|
end
|
||
|
post "/signin", { user: { email: user.email, password: user.password } }
|
||
|
|
||
|
response.code.should eq("201")
|
||
|
end
|
||
|
|
||
|
end
|