Sha256: a03a529e3071f7b1eff318cc3ecb7e44ee3b1a228435d83c63476e6f83bcf76d

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

require 'test_helper'
require 'geared_pagination/cursor'

class GearedPagination::CursorTest < ActiveSupport::TestCase
  test "from empty param" do
    assert_equal 1, GearedPagination::Cursor.from_param(nil).page_number
    assert_equal 1, GearedPagination::Cursor.from_param(" ").page_number
  end

  test "decode" do
    assert_equal 1, GearedPagination::Cursor.decode("eyJwYWdlX251bWJlciI6MX0=").page_number
  end

  test "encode" do
    assert_equal "eyJwYWdlX251bWJlciI6MSwidmFsdWVzIjp7fX0=", GearedPagination::Cursor.encode(page_number: 1)
    assert_equal "eyJwYWdlX251bWJlciI6MSwidmFsdWVzIjp7Im51bWJlciI6MTAwfX0=", GearedPagination::Cursor.encode(page_number: 1, values: { number: 100 })
  end

  test "page number" do
    assert_equal 1, GearedPagination::Cursor.new(page_number: 0).page_number
    assert_equal 1, GearedPagination::Cursor.new(page_number: 1).page_number
    assert_equal 2, GearedPagination::Cursor.new(page_number: 2).page_number
  end

  test "fetch" do
    assert_equal 100, GearedPagination::Cursor.new(page_number: 1, values: { number: 100 }).fetch(:number)
  end

  test "include?" do
    cursor = GearedPagination::Cursor.new(page_number: 1, values: { number: 100 })
    assert cursor.include?(:number)
    assert_not cursor.include?(:foo)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geared_pagination-1.1.0 test/cursor_test.rb
geared_pagination-1.0.2 test/cursor_test.rb
geared_pagination-1.0.1 test/cursor_test.rb
geared_pagination-1.0.0 test/cursor_test.rb