set deliveries on all items
This commit is contained in:
@@ -7,6 +7,15 @@ import (
|
||||
messages "git.tornberg.me/go-cart-actor/proto"
|
||||
)
|
||||
|
||||
func GetMessage(t uint16, data interface{}) *Message {
|
||||
ts := time.Now().Unix()
|
||||
return &Message{
|
||||
TimeStamp: &ts,
|
||||
Type: t,
|
||||
Content: data,
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddToCart(t *testing.T) {
|
||||
grain, err := spawn(ToCartId("kalle"))
|
||||
if err != nil {
|
||||
@@ -15,19 +24,14 @@ func TestAddToCart(t *testing.T) {
|
||||
if len(grain.Items) != 0 {
|
||||
t.Errorf("Expected 0 items, got %d\n", len(grain.Items))
|
||||
}
|
||||
addItem := messages.AddItem{
|
||||
msg := GetMessage(AddItemType, &messages.AddItem{
|
||||
Quantity: 2,
|
||||
Price: 100,
|
||||
Sku: "123",
|
||||
Name: "Test item",
|
||||
Image: "test.jpg",
|
||||
}
|
||||
ts := time.Now().Unix()
|
||||
msg := &Message{
|
||||
TimeStamp: &ts,
|
||||
Type: AddItemType,
|
||||
Content: &addItem,
|
||||
}
|
||||
})
|
||||
|
||||
result, err := grain.HandleMessage(msg, false)
|
||||
|
||||
if err != nil {
|
||||
@@ -59,3 +63,109 @@ func TestAddToCart(t *testing.T) {
|
||||
t.Errorf("Expected total price 400, got %d\n", grain.TotalPrice)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDelivery(t *testing.T) {
|
||||
grain, err := spawn(ToCartId("kalle"))
|
||||
if err != nil {
|
||||
t.Errorf("Error spawning: %v\n", err)
|
||||
}
|
||||
if len(grain.Items) != 0 {
|
||||
t.Errorf("Expected 0 items, got %d\n", len(grain.Items))
|
||||
}
|
||||
msg := GetMessage(AddItemType, &messages.AddItem{
|
||||
Quantity: 2,
|
||||
Price: 100,
|
||||
Sku: "123",
|
||||
Name: "Test item",
|
||||
Image: "test.jpg",
|
||||
})
|
||||
|
||||
grain.HandleMessage(msg, false)
|
||||
|
||||
msg = GetMessage(AddItemType, &messages.AddItem{
|
||||
Quantity: 2,
|
||||
Price: 100,
|
||||
Sku: "123",
|
||||
Name: "Test item",
|
||||
Image: "test.jpg",
|
||||
})
|
||||
|
||||
result, err := grain.HandleMessage(msg, false)
|
||||
|
||||
if err != nil {
|
||||
t.Errorf("Error handling message: %v\n", err)
|
||||
}
|
||||
if len(result) == 0 {
|
||||
t.Errorf("Expected result, got nil\n")
|
||||
}
|
||||
|
||||
setDelivery := GetMessage(SetDeliveryType, &messages.SetDelivery{
|
||||
Provider: "test",
|
||||
Items: []int64{1},
|
||||
})
|
||||
|
||||
_, err = grain.HandleMessage(setDelivery, false)
|
||||
if err != nil {
|
||||
t.Errorf("Error handling message: %v\n", err)
|
||||
}
|
||||
if len(grain.Deliveries) != 1 {
|
||||
t.Errorf("Expected 1 delivery, got %d\n", len(grain.Deliveries))
|
||||
}
|
||||
if len(grain.Deliveries[0].Items) != 1 {
|
||||
t.Errorf("Expected 1 items in delivery, got %d\n", len(grain.Deliveries[0].Items))
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetDeliveryOnAll(t *testing.T) {
|
||||
grain, err := spawn(ToCartId("kalle"))
|
||||
if err != nil {
|
||||
t.Errorf("Error spawning: %v\n", err)
|
||||
}
|
||||
if len(grain.Items) != 0 {
|
||||
t.Errorf("Expected 0 items, got %d\n", len(grain.Items))
|
||||
}
|
||||
msg := GetMessage(AddItemType, &messages.AddItem{
|
||||
Quantity: 2,
|
||||
Price: 100,
|
||||
Sku: "123",
|
||||
Name: "Test item",
|
||||
Image: "test.jpg",
|
||||
})
|
||||
|
||||
grain.HandleMessage(msg, false)
|
||||
|
||||
msg = GetMessage(AddItemType, &messages.AddItem{
|
||||
Quantity: 2,
|
||||
Price: 100,
|
||||
Sku: "1233",
|
||||
Name: "Test item2",
|
||||
Image: "test.jpg",
|
||||
})
|
||||
|
||||
result, err := grain.HandleMessage(msg, false)
|
||||
|
||||
if err != nil {
|
||||
t.Errorf("Error handling message: %v\n", err)
|
||||
}
|
||||
if len(result) == 0 {
|
||||
t.Errorf("Expected result, got nil\n")
|
||||
}
|
||||
|
||||
setDelivery := GetMessage(SetDeliveryType, &messages.SetDelivery{
|
||||
Provider: "test",
|
||||
Items: []int64{},
|
||||
})
|
||||
|
||||
_, err = grain.HandleMessage(setDelivery, false)
|
||||
if err != nil {
|
||||
t.Errorf("Error handling message: %v\n", err)
|
||||
}
|
||||
if len(grain.Deliveries) != 1 {
|
||||
t.Errorf("Expected 1 delivery, got %d\n", len(grain.Deliveries))
|
||||
}
|
||||
|
||||
if len(grain.Deliveries[0].Items) != 2 {
|
||||
t.Errorf("Expected 2 items in delivery, got %d\n", len(grain.Deliveries[0].Items))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user