Sha256: 3ed39fe823d6a364e6586472238ab11b2511d1b91dd169966d710ab235237f12

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

require 'spec_helper'
require 'gds-sso/bearer_token'

describe GDS::SSO::BearerToken do
  describe '.locate' do
    it 'creates a new user for a token' do
      response = {
        user: {
          uid: 'asd',
          email: 'user@example.com',
          name: 'A Name',
          permissions: ['signin'],
          organisation_slug: 'hmrc',
          organisation_content_id: '67a2b78d-eee3-45b3-80e2-792e7f71cecc',
        }
      }
      response = double(body: {
        user: {
          uid: 'asd',
          email: 'user@example.com',
          name: 'A Name',
          permissions: ['signin'],
          organisation_slug: 'hmrc',
          organisation_content_id: '67a2b78d-eee3-45b3-80e2-792e7f71cecc',
        }
      }.to_json)


      allow_any_instance_of(OAuth2::AccessToken).to receive(:get).and_return(response)

      created_user = GDS::SSO::BearerToken.locate('MY-API-TOKEN')

      expect(created_user.email).to eql('user@example.com')

      same_user_again = GDS::SSO::BearerToken.locate('MY-API-TOKEN')

      expect(same_user_again.id).to eql(created_user.id)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gds-sso-12.1.0 spec/unit/bearer_token_spec.rb