This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package pagination
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestCalcPaginationTotalPagesZeroItems(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(0, 10); got != 0 {
|
||||
t.Errorf("expected 0, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesZeroLimit(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(100, 0); got != 0 {
|
||||
t.Errorf("expected 0, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesZeroBoth(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(0, 0); got != 0 {
|
||||
t.Errorf("expected 0, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesExactMultiple(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(100, 10); got != 10 {
|
||||
t.Errorf("expected 10, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesPartialLastPage(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(101, 10); got != 11 {
|
||||
t.Errorf("expected 11, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesSingleItem(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(1, 10); got != 1 {
|
||||
t.Errorf("expected 1, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesItemsLessThanLimit(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(5, 10); got != 1 {
|
||||
t.Errorf("expected 1, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesLimitOfOne(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(7, 1); got != 7 {
|
||||
t.Errorf("expected 7, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesItemsEqualLimit(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(10, 10); got != 1 {
|
||||
t.Errorf("expected 1, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesLargeNumbers(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(1_000_000, 250); got != 4000 {
|
||||
t.Errorf("expected 4000, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalcPaginationTotalPagesOneMoreThanMultiple(t *testing.T) {
|
||||
if got := CalcPaginationTotalPages(11, 5); got != 3 {
|
||||
t.Errorf("expected 3, got %d", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPaginationStructFields(t *testing.T) {
|
||||
p := Pagination{
|
||||
Page: 2,
|
||||
Limit: 25,
|
||||
TotalPages: 4,
|
||||
TotalItems: 100,
|
||||
CurrentPageCount: 25,
|
||||
}
|
||||
if p.Page != 2 || p.Limit != 25 || p.TotalPages != 4 || p.TotalItems != 100 || p.CurrentPageCount != 25 {
|
||||
t.Errorf("unexpected pagination struct values: %+v", p)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user