Skip to content

Commit 4088e62

Browse files
tests: repo TestCreate_ErrorSavingOrder
1 parent cd5a9de commit 4088e62

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

internal/core/order/order_service_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,3 +619,33 @@ func TestCreate_EmptyCart(t *testing.T) {
619619

620620
mockCartService.AssertExpectations(t)
621621
}
622+
623+
func TestCreate_ErrorSavingOrder(t *testing.T) {
624+
clientID := uuid.New()
625+
626+
mockCartService := new(mocks.ICartService)
627+
628+
mockCartService.On("GetFullCart", clientID).Return(&cart.Cart{
629+
Products: []*cart.Product{
630+
{ProductID: uuid.New(), Quantity: 1, Comments: "Test product"},
631+
},
632+
}, nil)
633+
mockCartService.On("GetProductByID", mock.Anything).Return(&cart.Product{Price: 100.0}, nil)
634+
mockCartService.On("Cleanup", clientID).Return(nil)
635+
636+
mockOrderRepo := new(mocks.IOrderRepository)
637+
mockOrderRepo.On("Create", mock.Anything).Return(nil, errors.New("error saving order"))
638+
mockOrderProductRepo := new(mocks.IOrderProductRepository)
639+
640+
service := &order.Service{
641+
CartService: mockCartService,
642+
OrderRepository: mockOrderRepo,
643+
OrderProductRepository: mockOrderProductRepo,
644+
}
645+
646+
createdOrder, err := service.Create(clientID)
647+
648+
assert.Error(t, err)
649+
assert.Equal(t, "error saving order", err.Error())
650+
assert.Nil(t, createdOrder)
651+
}

0 commit comments

Comments
 (0)