From 9774aee04972ae7d6b9ea7d83bf1fcc30d5e6ac1 Mon Sep 17 00:00:00 2001
From: Alena Petraki <alena.petraki@gmail.com>
Date: Tue, 31 Oct 2023 14:04:31 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?=
 =?UTF-8?q?=D0=B0,=20=D1=87=D1=82=D0=BE=20=D0=BB=D0=BE=D0=B3=D0=B3=D0=B5?=
 =?UTF-8?q?=D1=80=20=D0=BF=D1=80=D0=B8=D1=88=D0=B5=D0=BB=20=D0=BD=D0=B5=20?=
 =?UTF-8?q?nil.=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/extension/schema_test.go | 18 ++++++++++++++++++
 pkg/extension/storage.go     |  3 +++
 2 files changed, 21 insertions(+)

diff --git a/pkg/extension/schema_test.go b/pkg/extension/schema_test.go
index 7d33a4b5..9892ba10 100644
--- a/pkg/extension/schema_test.go
+++ b/pkg/extension/schema_test.go
@@ -1,10 +1,14 @@
 package extension
 
 import (
+	"encoding/json"
 	"reflect"
 	"testing"
 
+	"git.perx.ru/perxis/perxis-go/pkg/collections"
+	"git.perx.ru/perxis/perxis-go/pkg/schema"
 	"git.perx.ru/perxis/perxis-go/pkg/schema/validate"
+	"github.com/stretchr/testify/require"
 )
 
 func Test_getEnumOpt(t *testing.T) {
@@ -32,3 +36,17 @@ func Test_getEnumOpt(t *testing.T) {
 		})
 	}
 }
+
+func TestEqualSchema(t *testing.T) {
+	for _, collection := range []*collections.Collection{
+		NewActionsCollection("", ""),
+		NewExtensionsCollection("", ""),
+	} {
+		s1 := collection.Schema
+		b, err := s1.MarshalJSON()
+		require.NoError(t, err)
+		s2 := schema.New()
+		err = json.Unmarshal(b, s2)
+		require.Equal(t, s1.Field, s2.Field)
+	}
+}
diff --git a/pkg/extension/storage.go b/pkg/extension/storage.go
index 07355eee..3da54fec 100644
--- a/pkg/extension/storage.go
+++ b/pkg/extension/storage.go
@@ -34,6 +34,9 @@ type storage struct {
 }
 
 func NewStorage(content *content.Content, logger *zap.Logger) Storage {
+	if logger == nil {
+		logger = zap.NewNop()
+	}
 	return &storage{content: content, logger: logger}
 }
 
-- 
GitLab