Sha256: 877635e544e3b35847675096f5c38d55a8b58aaf58491657f3864074f5aedaa5

Contents?: true

Size: 883 Bytes

Versions: 2

Compression:

Stored size: 883 Bytes

Contents

require 'test_helper'

class RailsSso::FetchUserTest < ActiveSupport::TestCase
  class AccessToken
    def initialize(client)
      @client = client
    end

    def get(path)
      OAuth2::Response.new(@client.get(path))
    end
  end

  def setup
    @access_token = AccessToken.new(setup_access_token_client)
  end

  test "call should fetch user with access token and return parsed data" do
    data = RailsSso::FetchUser.new(@access_token).call

    assert_equal data['name'], user_data['name']
    assert_equal data['email'], user_data['email']
  end

  def setup_access_token_client
    Faraday.new do |builder|
      builder.adapter :test do |stub|
        stub.get('/api/v1/me') { |env| [200, { 'Content-Type' => 'application/json' }, user_data] }
      end
    end
  end

  def user_data
    {
      'name' => 'Kowalski',
      'email' => 'jan@kowalski.pl'
    }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails_sso-0.2.1 test/services/rails_sso/fetch_user_test.rb
rails_sso-0.2.0 test/services/rails_sso/fetch_user_test.rb