pagination: add paginator tests.
This commit is contained in:
34
test/unit/paginator_test.rb
Normal file
34
test/unit/paginator_test.rb
Normal 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
|
||||||
Reference in New Issue
Block a user