Farmbot-Web-App/spec/mutations/auth/create_token_from_credentia...

31 lines
946 B
Ruby

require 'spec_helper'
describe Auth::FromJWT do
let(:user) { FactoryGirl.create(:user) }
def fake_credentials(email, password)
# Input -> JSONify -> encrypt -> Base64ify
secret = { email: email, password: password }.to_json
ct = KeyGen.current.public_encrypt(secret)
return Base64.encode64(ct)
end
it 'rejects bad credentials' do
results = Auth::CreateTokenFromCredentials.run(credentials: "FOO" )
expect(results.success?).to eq(false)
expect(results.errors.message_list)
.to include(Auth::CreateTokenFromCredentials::BAD_KEY)
end
it 'accepts good credentials' do
pw = "password123"
user = FactoryGirl.create(:user, password: pw)
email = user.email
creds = fake_credentials(email, pw)
results = Auth::CreateTokenFromCredentials.run!(credentials: creds)
expect(results[:token]).to be_kind_of(SessionToken)
expect(results[:user]).to eq(user)
end
end