legendary-doc-site/apps/admin/kaffy/test/pagination_text.exs
2020-07-27 20:28:41 +00:00

54 lines
1.8 KiB
Elixir

defmodule Kaffy.PaginationTest do
alias Kaffy.Pagination
use ExUnit.Case
# testing for get_pages(current_page, total_page)
test "test on emtpy pages" do
pages = Pagination.get_pages(0, 0)
assert pages == []
end
test "test on low get_pages" do
assert Pagination.get_pages(1, 1) == [1]
assert Pagination.get_pages(1, 2) == [1, 2]
assert Pagination.get_pages(1, 3) == [1, 2, 3]
assert Pagination.get_pages(1, 4) == [1, 2, 3, 4]
assert Pagination.get_pages(1, 5) == [1, 2, 3, 4, 5]
assert Pagination.get_pages(1, 6) == [1, 2, 3, "...", 6]
end
test "test on pagination 10" do
pages = Pagination.get_pages(5, 10)
assert pages == [1, 2, 3, 4, 5, 6, 7, "...", 10]
end
test "test on pagination 20" do
test_list_20 = [
{1, [1, 2, 3, "...", 20]},
{2, [1, 2, 3, 4, "...", 20]},
{3, [1, 2, 3, 4, 5, "...", 20]},
{4, [1, 2, 3, 4, 5, 6, "...", 20]},
{5, [1, 2, 3, 4, 5, 6, 7, "...", 20]},
{6, [1, "...", 4, 5, 6, 7, 8, "...", 20]},
{7, [1, "...", 5, 6, 7, 8, 9, "...", 20]},
{8, [1, "...", 6, 7, 8, 9, 10, "...", 20]},
{9, [1, "...", 7, 8, 9, 10, 11, "...", 20]},
{10, [1, "...", 8, 9, 10, 11, 12, "...", 20]},
{11, [1, "...", 9, 10, 11, 12, 13, "...", 20]},
{12, [1, "...", 10, 11, 12, 13, 14, "...", 20]},
{13, [1, "...", 11, 12, 13, 14, 15, "...", 20]},
{14, [1, "...", 12, 13, 14, 15, 16, "...", 20]},
{15, [1, "...", 13, 14, 15, 16, 17, "...", 20]},
{16, [1, "...", 14, 15, 16, 17, 18, 19, 20]},
{17, [1, "...", 15, 16, 17, 18, 19, 20]},
{18, [1, "...", 16, 17, 18, 19, 20]},
{19, [1, "...", 17, 18, 19, 20]},
{20, [1, "...", 18, 19, 20]}
]
Enum.map(test_list_20, fn {x, y} ->
assert Pagination.get_pages(x, 20) == y
end)
end
end