Sha256: 03c16fb05e95db5caaf5de0bd176647f44d8d7338c3e335c87f3f907f835224f

Contents?: true

Size: 1.43 KB

Versions: 5

Compression:

Stored size: 1.43 KB

Contents

require 'rails_helper'

describe LHS::Data do
  context 'pagination' do
    let(:datastore) { 'http://local.ch/v2' }
    let(:record) { Feedback.where(entry_id: 1) }
    let(:total) { 200 }
    let(:total_pages) { total / limit }
    let(:current_page) { offset + 1 }
    let(:prev_page) { current_page - 1 }
    let(:next_page) { current_page + 1 }
    let(:offset) { 0 }
    let(:limit) { 10 }
    let(:body_json) do
      {
        items: [],
        total: total,
        offset: offset,
        limit: limit
      }.to_json
    end

    before(:each) do
      LHC.config.placeholder('datastore', datastore)
      class Feedback < LHS::Service
        endpoint ':datastore/feedbacks'
      end
      stub_request(:get, 'http://local.ch/v2/feedbacks?entry_id=1')
        .to_return(body: body_json)
    end

    it 'responds to limit_value' do
      expect(record.limit_value).to eq(limit)
    end

    it 'responds to total_pages' do
      expect(record.total_pages).to eq(total_pages)
    end

    it 'responds to current_page' do
      expect(record.current_page).to eq(current_page)
    end

    it 'responds to first_page' do
      expect(record.first_page).to eq(1)
    end

    it 'responds to last_page' do
      expect(record.last_page).to eq(total_pages)
    end

    it 'responds to prev_page' do
      expect(record.prev_page).to eq(prev_page)
    end

    it 'responds to next_page' do
      expect(record.next_page).to eq(next_page)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lhs-2.2.2 spec/data/pagination_spec.rb
lhs-1.6.1 spec/data/pagination_spec.rb
lhs-2.2.1 spec/data/pagination_spec.rb
lhs-2.2.0 spec/data/pagination_spec.rb
lhs-1.6.0 spec/data/pagination_spec.rb