Sha256: 1fd7a31a052fe295f3c8a9a225be0ff0086149c7df1880c6086abbb5597ac29a

Contents?: true

Size: 1.43 KB

Versions: 62

Compression:

Stored size: 1.43 KB

Contents

require 'rails_helper'

describe LHS::Record do
  context 'references' do
    before(:each) 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(: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

62 entries across 62 versions & 1 rubygems

Version Path
lhs-14.6.5 spec/record/references_spec.rb
lhs-14.6.4 spec/record/references_spec.rb
lhs-14.6.3 spec/record/references_spec.rb
lhs-14.6.2 spec/record/references_spec.rb
lhs-14.6.1 spec/record/references_spec.rb
lhs-14.6.0 spec/record/references_spec.rb
lhs-14.5.0 spec/record/references_spec.rb
lhs-14.4.0 spec/record/references_spec.rb
lhs-14.3.4 spec/record/references_spec.rb
lhs-14.3.3 spec/record/references_spec.rb
lhs-14.3.2 spec/record/references_spec.rb
lhs-14.3.1 spec/record/references_spec.rb
lhs-14.3.0 spec/record/references_spec.rb
lhs-14.2.0 spec/record/references_spec.rb
lhs-14.1.1 spec/record/references_spec.rb
lhs-14.1.0 spec/record/references_spec.rb
lhs-14.0.3 spec/record/references_spec.rb
lhs-14.0.2 spec/record/references_spec.rb
lhs-14.0.1 spec/record/references_spec.rb
lhs-14.0.0 spec/record/references_spec.rb