Sha256: 48287f865da4b3cc42d3e58ea00d55b2945b6598f7cce51d97c4a6175bf1a317
Contents?: true
Size: 1.76 KB
Versions: 12
Compression:
Stored size: 1.76 KB
Contents
# frozen_string_literal: true require 'rails_helper' describe DHS::Record do context 'pagination links' do before do class Customer < DHS::Record endpoint 'http://datastore/customer' end end let!(:request) do stub_request(:get, "http://datastore/customer#{query}") .to_return(body: body) end let(:query) { "?name=#{name}&page=#{page}" } let(:customers) do Customer.where(name: name, page: page) end context 'next and previous link is present' do let(:name) { 'Simpl' } let(:page) { 2 } let(:body) do { next: "http://datastore/customer?name=#{name}&page=3", previous: "http://datastore/customer?name=#{name}&page=1", items: [{ name: 'Simplificator' }] }.to_json end it 'tells me that there is a next link' do expect(customers.next?).to eq true expect(customers.previous?).to eq true end end context 'next link is present, previous is not' do let(:name) { 'Simpl' } let(:page) { 2 } let(:body) do { next: "http://datastore/customer?name=#{name}&page=3", items: [{ name: 'Simplificator' }] }.to_json end it 'tells me that there is a next link' do expect(customers.next?).to eq true expect(customers.previous?).to eq false end end context 'no next link and no previous link is present' do let(:name) { 'Simplificator' } let(:page) { 1 } let(:body) do { items: [{ name: 'Simplificator' }] }.to_json end it 'tells me that there is no next link' do expect(customers.next?).to eq false expect(customers.previous?).to eq false end end end end
Version data entries
12 entries across 12 versions & 1 rubygems