diff --git a/pkg/options/options_test.go b/pkg/options/options_test.go index 981849a0e2625a8bd7e796a22eaa8529d606ef01..da9e71dd99910c1a609eeba081a668c460cbaa1d 100644 --- a/pkg/options/options_test.go +++ b/pkg/options/options_test.go @@ -7,7 +7,6 @@ import ( ) func TestOptions_MergePaginationOptions(t *testing.T) { - var tt = []struct { name string options []PaginationOptions @@ -24,30 +23,56 @@ func TestOptions_MergePaginationOptions(t *testing.T) { expected: PaginationOptions{}, }, { - name: "One option", + name: "One page option", options: []PaginationOptions{{PageNum: 10, PageSize: 100}}, expected: PaginationOptions{PageNum: 10, PageSize: 100}, }, { - name: "Merge #1", + name: "Merge pages #1", options: []PaginationOptions{{PageNum: 0, PageSize: 0}, {PageNum: 10, PageSize: 100}}, expected: PaginationOptions{PageNum: 10, PageSize: 100}, }, { - name: "Merge #2", + name: "Merge pages #2", options: []PaginationOptions{{PageNum: 10, PageSize: 100}, {PageNum: 0, PageSize: 0}}, expected: PaginationOptions{PageNum: 10, PageSize: 100}, }, { - name: "Merge #3", + name: "Merge pages #3", options: []PaginationOptions{{PageNum: 0, PageSize: 0}, {PageNum: 10, PageSize: 100}, {PageNum: 0, PageSize: 0}}, expected: PaginationOptions{PageNum: 10, PageSize: 100}, }, { - name: "Merge #4", + name: "Merge pages #4", options: []PaginationOptions{{PageNum: 10, PageSize: 100}, {}}, expected: PaginationOptions{PageNum: 10, PageSize: 100}, }, + + { + name: "One limit/offset option", + options: []PaginationOptions{{Limit: 10, Offset: 100}}, + expected: PaginationOptions{Limit: 10, Offset: 100}, + }, + { + name: "Merge limit/offset #1", + options: []PaginationOptions{{Limit: 0, Offset: 0}, {Limit: 10, Offset: 100}}, + expected: PaginationOptions{Limit: 10, Offset: 100}, + }, + { + name: "Merge limit/offset #2", + options: []PaginationOptions{{Limit: 10, Offset: 100}, {Limit: 0, Offset: 0}}, + expected: PaginationOptions{Limit: 10, Offset: 100}, + }, + { + name: "Merge limit/offset #3", + options: []PaginationOptions{{Limit: 0, Offset: 0}, {Limit: 10, Offset: 100}, {Limit: 0, Offset: 0}}, + expected: PaginationOptions{Limit: 10, Offset: 100}, + }, + { + name: "Merge limit/offset #4", + options: []PaginationOptions{{Limit: 10, Offset: 100}, {}}, + expected: PaginationOptions{Limit: 10, Offset: 100}, + }, } for _, v := range tt {