more features
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m52s

This commit is contained in:
matst80
2024-11-11 09:47:13 +01:00
parent 46d9f1dd96
commit 8027402b7c
11 changed files with 730 additions and 106 deletions

90
message-handler_test.go Normal file
View File

@@ -0,0 +1,90 @@
package main
import (
"bytes"
"testing"
messages "git.tornberg.me/go-cart-actor/proto"
)
func TestAddRequest(t *testing.T) {
h, err := GetMessageHandler(AddRequestType)
if err != nil {
t.Errorf("Error getting message handler: %v\n", err)
}
if h == nil {
t.Errorf("Expected message handler, got nil\n")
}
message := Message{
Type: AddRequestType,
Content: &messages.AddRequest{
Quantity: 2,
Sku: "123",
},
}
var b bytes.Buffer
err = h.Write(&message, &b)
if err != nil {
t.Errorf("Error writing message: %v\n", err)
}
result, err := h.Read(b.Bytes())
if err != nil {
t.Errorf("Error reading message: %v\n", err)
}
if result == nil {
t.Errorf("Expected result, got nil\n")
}
r, ok := result.(*messages.AddRequest)
if !ok {
t.Errorf("Expected AddRequest, got %T\n", result)
}
if r.Quantity != 2 {
t.Errorf("Expected quantity 2, got %d\n", r.Quantity)
}
if r.Sku != "123" {
t.Errorf("Expected sku '123', got %s\n", r.Sku)
}
}
func TestItemRequest(t *testing.T) {
h, err := GetMessageHandler(AddItemType)
if err != nil {
t.Errorf("Error getting message handler: %v\n", err)
}
if h == nil {
t.Errorf("Expected message handler, got nil\n")
}
message := Message{
Type: AddItemType,
Content: &messages.AddItem{
Quantity: 2,
Sku: "123",
Price: 100,
Name: "Test item",
Image: "test.jpg",
},
}
var b bytes.Buffer
err = h.Write(&message, &b)
if err != nil {
t.Errorf("Error writing message: %v\n", err)
}
result, err := h.Read(b.Bytes())
if err != nil {
t.Errorf("Error reading message: %v\n", err)
}
if result == nil {
t.Errorf("Expected result, got nil\n")
}
var r *messages.AddItem
ok := h.Is(&message)
if !ok {
t.Errorf("Expected AddRequest, got %T\n", result)
}
if r.Quantity != 2 {
t.Errorf("Expected quantity 2, got %d\n", r.Quantity)
}
if r.Sku != "123" {
t.Errorf("Expected sku '123', got %s\n", r.Sku)
}
}