Sha256: 6c563bb126c0bb41195de7e2fcb603643bf0f8393e8a4878bf513f163d2d2838
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
require 'spec_helper' require 'spree/testing_support/factories/user_factory' RSpec.describe 'SolidusJwt Authentication', type: :request do let(:params) do { token: token } end let(:token) { nil } let(:user) { FactoryBot.create(:user, spree_api_key: 'secret') } it 'fails if user visits api without authenticating' do get spree.api_user_path(user.id) expect(response.status).to be(401) end context 'when jwt fails to decode' do let(:token) { 'abc.123.efg' } it 'renders invalid_api_key' do get spree.api_user_path(user.id), params: params expect(response.status).to be(401) expect(response.body).to include('Invalid API key') end end context 'when spree api key is allowed' do context 'when spree api key is present' do let(:token) { user.spree_api_key } it 'passes authentication' do get spree.api_user_path(user.id), params: params expect(response.status).to be(200) end end context 'when json web token is used' do let(:token) { user.generate_jwt } it 'passes authentication' do get spree.api_user_path(user.id), params: params expect(response.status).to be(200) end end end context 'when spree api key is not allowed' do before(:all) do SolidusJwt::Config.allow_spree_api_key = false end after(:all) do SolidusJwt::Config.allow_spree_api_key = true end context 'when spree api key is present' do let(:token) { user.spree_api_key } it 'fails authentication' do get spree.api_user_path(user.id), params: params expect(response.status).to be(401) end end context 'when json web token is used' do let(:token) { user.generate_jwt } it 'passes authentication' do get spree.api_user_path(user.id), params: params expect(response.status).to be(200) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_jwt-1.1.0 | spec/requests/spree/api/json_web_tokens_spec.rb |