Sha256: 2acf392ecb5627ea6831ca2a89d718a2c8afb9f58f5abf0bb5ac32abf69a5317

Contents?: true

Size: 966 Bytes

Versions: 14

Compression:

Stored size: 966 Bytes

Contents

# frozen_string_literal: true

require 'spec_helpers/client'
require 'spec_helpers/api_request'

RSpec.describe FinApps::REST::Actors do
  include SpecHelpers::Client

  let(:results) { subject[RESULTS] }
  let(:error_messages) { subject[ERROR_MESSAGES] }

  describe '#show' do
    subject(:show) { described_class.new(client).show }

    context 'when authorization is not valid' do
      before { stub_unauthorized_request }

      it { expect { show }.to raise_error(FinAppsCore::ApiUnauthenticatedError) }
    end

    context 'when authorization is valid' do
      it_behaves_like 'an API request'
      it_behaves_like 'a successful request'

      it('returns a valid actor') { expect(results).to be_a(Hash) }
    end
  end

  def stub_unauthorized_request
    stub_request(:get, %r{/actor/details}).to_return(
      status: 401,
      body: {
        error_messages: ['Unauthorized'],
        results: nil
      }.to_json,
      headers: {}
    )
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
finapps-6.13.1 spec/rest/actors_spec.rb
finapps-6.13.0 spec/rest/actors_spec.rb
finapps-6.12.0 spec/rest/actors_spec.rb
finapps-6.11.0 spec/rest/actors_spec.rb
finapps-6.10.2 spec/rest/actors_spec.rb
finapps-6.10.1 spec/rest/actors_spec.rb
finapps-6.10.0 spec/rest/actors_spec.rb
finapps-6.9.2 spec/rest/actors_spec.rb
finapps-6.9.1 spec/rest/actors_spec.rb
finapps-6.9.0 spec/rest/actors_spec.rb
finapps-6.8.0 spec/rest/actors_spec.rb
finapps-6.7.1 spec/rest/actors_spec.rb
finapps-6.7.0 spec/rest/actors_spec.rb
finapps-6.6.1 spec/rest/actors_spec.rb