Skip to content

Instantly share code, notes, and snippets.

@mazikwyry
Last active November 26, 2019 16:45
Show Gist options
  • Save mazikwyry/74840725439ee278df3bf205eb8ae316 to your computer and use it in GitHub Desktop.
Save mazikwyry/74840725439ee278df3bf205eb8ae316 to your computer and use it in GitHub Desktop.
require 'rails_helper'
RSpec.describe 'POST /login', type: :request do
let(:user) { Fabricate(:user) }
let(:url) { '/login' }
let(:params) do
{
user: {
email: user.email,
password: user.password
}
}
end
context 'when params are correct' do
before do
post url, params: params
end
it 'returns 200' do
expect(response).to have_http_status(200)
end
it 'returns JTW token in authorization header' do
expect(response.headers['Authorization']).to be_present
end
it 'returns valid JWT token' do
decoded_token = decoded_jwt_token_from_response(response)
expect(decoded_token.first['sub']).to be_present
end
end
context 'when login params are incorrect' do
before { post url }
it 'returns unathorized status' do
expect(response.status).to eq 401
end
end
end
RSpec.describe 'DELETE /logout', type: :request do
let(:url) { '/logout' }
it 'returns 204, no content' do
delete url
expect(response).to have_http_status(204)
end
end
@oamado
Copy link

oamado commented Jun 7, 2019

where is defined this method? decoded_jwt_token_from_response

@aonomike
Copy link

I cant find it either...but I have seen some work around here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment