From 7aa3fdb5f838b2c8e5b92b7f4fc86e1c00f9cae8 Mon Sep 17 00:00:00 2001
From: ensiouel <ensiouel@gmail.com>
Date: Tue, 28 Nov 2023 09:22:45 +0300
Subject: [PATCH] =?UTF-8?q?=D0=B4=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=20View.Equal?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/collections/collection_test.go | 69 ++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 pkg/collections/collection_test.go

diff --git a/pkg/collections/collection_test.go b/pkg/collections/collection_test.go
new file mode 100644
index 00000000..26be4e25
--- /dev/null
+++ b/pkg/collections/collection_test.go
@@ -0,0 +1,69 @@
+package collections
+
+import (
+	"testing"
+
+	"github.com/stretchr/testify/require"
+)
+
+func TestView_Equal(t *testing.T) {
+	tests := []struct {
+		name   string
+		input1 *View
+		input2 *View
+		output bool
+	}{
+		{
+			name:   "v==nil,v1==nil",
+			input1: nil,
+			input2: nil,
+			output: true,
+		},
+		{
+			name:   "v!=nil,v1==nil",
+			input1: &View{},
+			input2: nil,
+			output: false,
+		},
+		{
+			name:   "v==nil,v1!=nil",
+			input1: nil,
+			input2: &View{},
+			output: false,
+		},
+		{
+			name: "v!=nil,v1!=nil,v!=v1",
+			input1: &View{
+				SpaceID:      "spaceID",
+				EnvID:        "envID",
+				CollectionID: "collectionID",
+				Filter:       "filter",
+			},
+			input2: &View{},
+			output: false,
+		},
+		{
+			name: "v!=nil,v1!=nil,v==v1",
+			input1: &View{
+				SpaceID:      "spaceID",
+				EnvID:        "envID",
+				CollectionID: "collectionID",
+				Filter:       "filter",
+			},
+			input2: &View{
+				SpaceID:      "spaceID",
+				EnvID:        "envID",
+				CollectionID: "collectionID",
+				Filter:       "filter",
+			},
+			output: true,
+		},
+	}
+
+	for _, tc := range tests {
+		t.Run(tc.name, func(t *testing.T) {
+			output := tc.input1.Equal(tc.input2)
+			require.Equal(t, tc.output, output)
+		})
+	}
+}
-- 
GitLab