Sha256: 605ed45c17e6406d0ab4398097a037e19520c0bfe19455d384d981af4f4d9959
Contents?: true
Size: 1.04 KB
Versions: 16
Compression:
Stored size: 1.04 KB
Contents
require 'rails_helper' describe LHS::Record do let(:datastore) do 'http://datastore/v2' end let(:response) do { body: [{ name: 'Steve' }] } end before(:each) do LHC.config.placeholder('datastore', datastore) class Record < LHS::Record endpoint '{+datastore}/records/' scope :blue, -> { where(color: 'blue') } scope :available, -> { where(availalbe: 'true') } scope :limited_to, ->(limit) { where(limit: limit) } end end context 'scope chains' do it 'allows chaining multiple scopes' do stub_request(:get, "http://datastore/v2/records/?availalbe=true&color=blue&limit=20").to_return(response) expect( Record.blue.available.limited_to(20).first.name ).to eq 'Steve' end it 'allows to chain multiple scopes when first one has arguments' do stub_request(:get, "http://datastore/v2/records/?availalbe=true&color=blue&limit=20").to_return(response) expect( Record.limited_to(20).blue.available.first.name ).to eq 'Steve' end end end
Version data entries
16 entries across 16 versions & 1 rubygems