From 3ced7628c0ad3a67b816521cb498e4ca1e1968dd Mon Sep 17 00:00:00 2001 From: Danis Kirasirov <dbgbbu@gmail.com> Date: Thu, 15 Feb 2024 13:51:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20MergePaginationOptions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/options/options_test.go | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/pkg/options/options_test.go b/pkg/options/options_test.go index 981849a0..da9e71dd 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 { -- GitLab