test: 补齐 handler/repository/domain 层单元测试
This commit is contained in:
77
internal/pkg/pagination/pagination_test.go
Normal file
77
internal/pkg/pagination/pagination_test.go
Normal file
@@ -0,0 +1,77 @@
|
||||
package pagination
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDefaultPagination(t *testing.T) {
|
||||
p := DefaultPagination()
|
||||
if p.Page != 1 {
|
||||
t.Errorf("expected default page 1, got %d", p.Page)
|
||||
}
|
||||
if p.PageSize != 20 {
|
||||
t.Errorf("expected default page_size 20, got %d", p.PageSize)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPaginationParams_Offset(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
page int
|
||||
pageSize int
|
||||
wantOffset int
|
||||
}{
|
||||
{"page 1", 1, 20, 0},
|
||||
{"page 2", 2, 20, 20},
|
||||
{"page 5", 5, 20, 80},
|
||||
{"zero page", 0, 20, 0},
|
||||
{"negative page", -1, 20, 0},
|
||||
{"page 1 size 10", 1, 10, 0},
|
||||
{"page 3 size 10", 3, 10, 20},
|
||||
}
|
||||
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
p := PaginationParams{Page: tc.page, PageSize: tc.pageSize}
|
||||
if got := p.Offset(); got != tc.wantOffset {
|
||||
t.Errorf("expected offset %d, got %d", tc.wantOffset, got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestPaginationParams_Limit(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
pageSize int
|
||||
want int
|
||||
}{
|
||||
{"default", 20, 20},
|
||||
{"size 10", 10, 10},
|
||||
{"size 50", 50, 50},
|
||||
{"size 100", 100, 100},
|
||||
{"max cap", 101, 100},
|
||||
{"zero size", 0, 20},
|
||||
{"negative size", -1, 20},
|
||||
{"size 1", 1, 1},
|
||||
}
|
||||
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
p := PaginationParams{PageSize: tc.pageSize}
|
||||
if got := p.Limit(); got != tc.want {
|
||||
t.Errorf("expected limit %d, got %d", tc.want, got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestPaginationParams_OffsetAndLimit(t *testing.T) {
|
||||
p := PaginationParams{Page: 3, PageSize: 15}
|
||||
if got := p.Offset(); got != 30 {
|
||||
t.Errorf("expected offset 30, got %d", got)
|
||||
}
|
||||
if got := p.Limit(); got != 15 {
|
||||
t.Errorf("expected limit 15, got %d", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user