Sha256: bb0ae87eccf2f86c866db904b684f585d0c26884065eaf6e18d0d70ff86d1a15

Contents?: true

Size: 1.46 KB

Versions: 10

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

describe LHS::Record do
  context 'references' do
    before do
      class Customer < LHS::Record
        endpoint 'http://datastore/customers/{id}'
      end
    end

    let!(:customer_request) do
      stub_request(:get, "http://datastore/customers/1")
        .to_return(body: {
          'electronic_addresses' => {
            'href' => "http://datastore/electronic_addresses"
          },
          'contact_addresses' => {
            'href' => "http://datastore/contact_addresses"
          }
        }.to_json)
    end

    let!(:electronic_addresses_request) do
      stub_request(:get, "http://datastore/electronic_addresses")
        .with(referencing_options)
        .to_return(body: [].to_json)
    end

    let!(:contact_addresses_request) do
      stub_request(:get, "http://datastore/contact_addresses")
        .with(referencing_options)
        .to_return(body: [].to_json)
    end

    let(:referencing_options) do
      { headers: { 'Authentication' => 'Bearer 123' } }
    end

    it 'uses the "references" hash for all symbols of the "including" array' do
      Customer
        .includes_first_page(:electronic_addresses, :contact_addresses)
        .references(
          electronic_addresses: referencing_options,
          contact_addresses: referencing_options
        )
        .find(1)
      assert_requested(electronic_addresses_request)
      assert_requested(contact_addresses_request)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lhs-24.1.0 spec/record/references_spec.rb
lhs-24.1.0.pre.2 spec/record/references_spec.rb
lhs-24.1.0.pre.1 spec/record/references_spec.rb
lhs-24.0.0 spec/record/references_spec.rb
lhs-23.0.2 spec/record/references_spec.rb
lhs-23.0.1 spec/record/references_spec.rb
lhs-23.0.0 spec/record/references_spec.rb
lhs-22.1.1.pre spec/record/references_spec.rb
lhs-22.1.0 spec/record/references_spec.rb
lhs-22.0.0 spec/record/references_spec.rb