Files
openserp/core/common_test.go
2026-06-02 21:44:58 +03:00

59 lines
1.2 KiB
Go

package core
import "testing"
func TestShouldFetchResultPage(t *testing.T) {
tests := []struct {
name string
collected int
limit int
pagesFetched int
want bool
}{
{
name: "always fetch first page",
limit: 10,
pagesFetched: 0,
want: true,
},
{
name: "unset limit stops after first page",
collected: 8,
limit: 0,
pagesFetched: 1,
want: false,
},
{
name: "default limit stops after first page even if short",
collected: 8,
limit: 10,
pagesFetched: 1,
want: false,
},
{
name: "larger limit can fetch another short page",
collected: 8,
limit: 11,
pagesFetched: 1,
want: true,
},
{
name: "larger limit stops when satisfied",
collected: 11,
limit: 11,
pagesFetched: 1,
want: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := ShouldFetchResultPage(tt.collected, tt.limit, tt.pagesFetched)
if got != tt.want {
t.Fatalf("ShouldFetchResultPage(%d, %d, %d) = %t, want %t",
tt.collected, tt.limit, tt.pagesFetched, got, tt.want)
}
})
}
}