64 lines
1.2 KiB
Ruby
64 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe Api::UserTokenController, type: :request do
|
|
let(:current_user) { create(:user) }
|
|
|
|
describe '#create' do
|
|
it 'returns error if credentials are not corrent and does not set cookie' do
|
|
|
|
post create_endpoint, params: wrong_auth_params
|
|
|
|
expect(response).to be_successful
|
|
expect(response.body).to match record_not_found
|
|
expect(cookie_data).to eq nil
|
|
end
|
|
|
|
it 'sends token and cookie if credentials are correct' do
|
|
post create_endpoint, params: correct_auth_params
|
|
|
|
expect(response).to be_successful
|
|
expect(response.body).not_to match record_not_found
|
|
expect(response.body).to match token_response
|
|
expect(cookie_data).not_to eq nil
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def wrong_auth_params
|
|
{
|
|
auth: {
|
|
email: 'wrong_email@api-test.com',
|
|
password: 'password'
|
|
}
|
|
}
|
|
end
|
|
|
|
def correct_auth_params
|
|
{
|
|
auth: {
|
|
email: current_user.email,
|
|
password: 'password'
|
|
}
|
|
}
|
|
end
|
|
|
|
def create_endpoint
|
|
'/api/v1/user_token'
|
|
end
|
|
|
|
def record_not_found
|
|
/Record not found/
|
|
end
|
|
|
|
def token_response
|
|
/jwt/
|
|
end
|
|
|
|
def cookie_data
|
|
cookies[:_easy_release_session]
|
|
end
|
|
end
|