Files
goext/pagination/pagination_test.go
T
Mikescher 02d6894ec6
Build Docker and Deploy / Run goext test-suite (push) Successful in 1m34s
[🤖] Add Unit-Tests
2026-04-27 16:31:29 +02:00

83 lines
2.1 KiB
Go

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)
}
}