Sha256: c9938213839cc50b12d94e198e46dfabdc1c7f36064463551e58067f5f81fc6d
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
require 'rails_helper' require 'rspec_api_documentation/dsl' resource 'Token' do let(:user) { FactoryGirl.create :user_with_token } post '/v1/token', format: :json do before { user.user_tokens.destroy } parameter :email, 'Email', required: true, scope: :user parameter :password, 'Password', required: true, scope: :user let(:email) { user.email } let(:password) { user.password } example_request 'sign in' do response_json = JSON.parse response_body expect(response_headers['Content-Type']).to eq('application/json; charset=utf-8') expect(status).to eq(200) expect(response_json['user_token']).to have_key('access_token') expect(response_json['user_token']).to have_key('user') end example 'sign in with wrong email', document: false do do_request params.tap { |parameters| parameters['user']['email'] = Faker::Internet.free_email } response_json = JSON.parse response_body expect(status).to eq(404) expect(response_json['id']).to be_nil expect(response_json['errors']).to have_key('email') end example 'sign in with wrong password', document: false do do_request params.tap { |parameters| parameters['user']['password'] = Faker::Lorem.characters 8 } response_json = JSON.parse response_body expect(status).to eq(403) expect(response_json['id']).to be_nil expect(response_json['errors']).to have_key('password') end end delete '/v1/token', format: :json do header 'AUTHORIZATION', :token let(:token) { ActionController::HttpAuthentication::Token.encode_credentials user.user_tokens.first.try :access_token } example_request 'sign out' do response_json = JSON.parse response_body expect(status).to eq(200) expect(response_json['user_token']).to have_key('access_token') expect(response_json['user_token']).to have_key('user') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
happy_seed-0.0.21 | lib/generators/happy_seed/api/templates/spec/acceptance/api/v1/user_tokens_spec.rb |