From 18f6da69cd7b5686e7bb4b612ad3ca441b7ef318 Mon Sep 17 00:00:00 2001
From: "popov.dmitriy" <dp@sessia.dev>
Date: Tue, 18 Mar 2025 20:17:11 +0300
Subject: [PATCH] Add text

---
 eom/orderCompleted_test.go | 76 ++++++++++++++++++++++++++++++++++++++
 go.mod                     |  2 +
 go.sum                     |  4 ++
 3 files changed, 82 insertions(+)
 create mode 100644 eom/orderCompleted_test.go

diff --git a/eom/orderCompleted_test.go b/eom/orderCompleted_test.go
new file mode 100644
index 0000000..6645376
--- /dev/null
+++ b/eom/orderCompleted_test.go
@@ -0,0 +1,76 @@
+package eom
+
+import (
+	"encoding/json"
+	"github.com/stretchr/testify/assert"
+	"testing"
+)
+
+func generateOrder() *OrderCompleted {
+	jsonString := `{
+  "id": "123e4567-e89b-12d3-a456-426655440000",
+  "customerId": "123e4567-e89b-12d3-a456-426655440001",
+  "storeId": "123e4567-e89b-12d3-a456-426655440002",
+  "items": [
+    {
+      "id": "123e4567-e89b-12d3-a456-426655440003",
+      "productId": "product-123",
+      "name": "Product A",
+      "quantity": 2,
+      "price": 19.99
+    },
+    {
+      "id": "123e4567-e89b-12d3-a456-426655440004",
+      "productId": "product-456",
+      "name": "Product B",
+      "quantity": 1,
+      "price": 9.99
+    }
+  ],
+  "total": 49.97,
+  "isCustomerFirstOrder": true,
+  "createdAt": "2023-01-01T00:00:00Z",
+  "svnrCreatedAt": "2023-01-01T00:00:00Z"
+}`
+
+	orderCompleted := &OrderCompleted{}
+
+	err := json.Unmarshal([]byte(jsonString), orderCompleted)
+	if err != nil {
+		panic(err)
+	}
+
+	return orderCompleted
+}
+
+func TestGetUser_ValidToken(t *testing.T) {
+	orderCompleted := generateOrder()
+
+	assert.Equal(t, "123e4567-e89b-12d3-a456-426655440000", orderCompleted.ID.String(), "ID must match")
+	assert.Equal(t, "123e4567-e89b-12d3-a456-426655440002", orderCompleted.StoreID.String(), "StoreID must match")
+	assert.Equal(t, "123e4567-e89b-12d3-a456-426655440001", orderCompleted.CustomerID.String(), "CustomerID must match")
+	assert.Equal(t, true, orderCompleted.IsCustomerFirstOrder, "IsCustomerFirstOrder must match")
+
+	assert.False(t, orderCompleted.WaiterID.UUID.Valid, "WaiterID must be empty")
+	assert.False(t, orderCompleted.RecommenderID.UUID.Valid, "RecommenderID must be empty")
+
+	assert.Equal(t, "2023-01-01T00:00:00Z", orderCompleted.CreatedAt, "CreatedAt must match")
+	assert.Equal(t, "2023-01-01T00:00:00Z", orderCompleted.SvnrCreatedAt, "SvnrCreatedAt must match")
+
+	assert.Len(t, orderCompleted.OrderItems, 2, "OrderItems length must be 2")
+
+	// Проверка первого элемента
+	assert.Equal(t, "123e4567-e89b-12d3-a456-426655440003", orderCompleted.OrderItems[0].ID.String(), "First item ID must match")
+	assert.Equal(t, "product-123", orderCompleted.OrderItems[0].ProductID, "First item ProductID must match")
+	assert.Equal(t, "Product A", orderCompleted.OrderItems[0].Name, "First item Name must match")
+	assert.Equal(t, 2, orderCompleted.OrderItems[0].Quantity, "First item Quantity must match")
+	assert.Equal(t, 19.99, orderCompleted.OrderItems[0].Price, "First item Price must match")
+
+	assert.Equal(t, "123e4567-e89b-12d3-a456-426655440004", orderCompleted.OrderItems[1].ID.String(), "Second item ID must match")
+	assert.Equal(t, "product-456", orderCompleted.OrderItems[1].ProductID, "Second item ProductID must match")
+	assert.Equal(t, "Product B", orderCompleted.OrderItems[1].Name, "Second item Name must match")
+	assert.Equal(t, 1, orderCompleted.OrderItems[1].Quantity, "Second item Quantity must match")
+	assert.Equal(t, 9.99, orderCompleted.OrderItems[1].Price, "Second item Price must match")
+
+	assert.Equal(t, 49.97, orderCompleted.TotalAmount, "TotalAmount must match")
+}
diff --git a/go.mod b/go.mod
index f651338..4afabf0 100644
--- a/go.mod
+++ b/go.mod
@@ -18,6 +18,7 @@ require (
 	github.com/bits-and-blooms/bitset v1.21.0 // indirect
 	github.com/cespare/xxhash/v2 v2.3.0 // indirect
 	github.com/danieljoos/wincred v1.2.2 // indirect
+	github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
 	github.com/dvsekhvalnov/jose2go v1.8.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.7.0 // indirect
 	github.com/gabriel-vasile/mimetype v1.4.8 // indirect
@@ -46,6 +47,7 @@ require (
 	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
 	github.com/pierrec/lz4 v2.6.1+incompatible // indirect
 	github.com/pkg/errors v0.9.1 // indirect
+	github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
 	github.com/prometheus/client_golang v1.21.1 // indirect
 	github.com/prometheus/client_model v0.6.1 // indirect
 	github.com/prometheus/common v0.62.0 // indirect
diff --git a/go.sum b/go.sum
index 04c2b69..b6bf2fd 100644
--- a/go.sum
+++ b/go.sum
@@ -103,6 +103,8 @@ github.com/danieljoos/wincred v1.2.2/go.mod h1:w7w4Utbrz8lqeMbDAK0lkNJUv5sAOkFi7
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA=
 github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0=
 github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
@@ -331,6 +333,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
 github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
 github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-- 
GitLab