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