Merge pull request #3643 from evazion/fix-3642

Fix #3642: Issues with sequential pagination
This commit is contained in:
Albert Yi
2018-04-16 16:16:22 -07:00
committed by GitHub
3 changed files with 47 additions and 11 deletions

View File

@@ -0,0 +1,34 @@
require 'test_helper'
class PaginatorTest < ActiveSupport::TestCase
setup do
@posts = FactoryBot.create_list(:post, 5)
end
context "sequential pagination (before)" do
should "return the correct set of records" do
expected_posts = Post.limit(3).order(id: :desc)
posts = Post.paginate("b9999999", limit: 3)
assert_equal(expected_posts.map(&:id), posts.map(&:id))
end
end
context "sequential pagination (after)" do
should "return the correct set of records" do
expected_posts = Post.limit(3).order(id: :asc).reverse
posts = Post.paginate("a0", limit: 3)
assert_equal(expected_posts.map(&:id), posts.map(&:id))
end
end
context "numbered pagination" do
should "return the correct set of records" do
expected_posts = Post.limit(3).order(id: :desc)
posts = Post.order(id: :desc).paginate("1", limit: 3)
assert_equal(expected_posts.map(&:id), posts.map(&:id))
end
end
end