Sha256: 8e58f08e19f22c7f33f59e7254c07bbf0549ba048c644fe775b155af0d06c02d

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

require 'test_helper'
require 'geared_pagination/recordset'

class GearedPagination::RecordsetTest < ActiveSupport::TestCase
  test "single limit pagination" do
    recordset = GearedPagination::Recordset.new(Recording.all, per_page: 10)

    assert_equal 10, recordset.page(1).records.size
    assert_equal 10, recordset.page(2).records.size
  end

  test "variable limit pagination" do
    recordset = GearedPagination::Recordset.new(Recording.all, per_page: [ 10, 15, 20 ])

    assert_equal 10, recordset.page(1).records.size
    assert recordset.page(1).records.include?(Recording.all[0])

    assert_equal 15, recordset.page(2).records.size
    assert recordset.page(2).records.include?(Recording.all[11])

    assert_equal 20, recordset.page(3).records.size
    assert recordset.page(3).records.include?(Recording.all[26])

    assert_equal 20, recordset.page(4).records.size
    assert recordset.page(4).records.include?(Recording.all[46])
  end

  test "page count" do
    assert_equal 7, GearedPagination::Recordset.new(Recording.all, per_page: [ 10, 15, 20 ]).page_count
  end

  test "records count" do
    assert_equal Recording.all.count, GearedPagination::Recordset.new(Recording.all, per_page: [ 10, 15, 20 ]).records_count
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
geared_pagination-0.2 test/recordset_test.rb