Sha256: 839df9fc404e254f7963a9d87742c1c7490aee8f608caae6760dc8ed539e0ca7
Contents?: true
Size: 1.27 KB
Versions: 53
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true require 'rails_helper' describe LHS::Record do context 'includes warning' 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: { contracts: { href: 'http://datastore/customers/1/contracts' } }.to_json ) end let!(:contracts_request) do stub_request(:get, "http://datastore/customers/1/contracts") .to_return( body: { items: 10.times.map do { products: { href: 'http://datastore/products' } } end, limit: 10, offset: 0, total: 33 }.to_json ) end it 'warns if linked data was simply included but is paginated' do expect(lambda { Customer.includes(:contracts).find(1) }).to output( %r{\[WARNING\] You included `http://datastore/customers/1/contracts`, but this endpoint is paginated. You might want to use `includes_all` instead of `includes` \(https://github.com/local-ch/lhs#includes_all-for-paginated-endpoints\)\.} ).to_stderr end end end
Version data entries
53 entries across 53 versions & 1 rubygems