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