update qty
This commit is contained in:
38
api-tests/cart.http
Normal file
38
api-tests/cart.http
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
### Add item to cart
|
||||
POST https://cart.tornberg.me/api/12345
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"sku": "763281",
|
||||
"quantity": 1
|
||||
}
|
||||
|
||||
### Update quanity of item in cart
|
||||
PUT https://cart.tornberg.me/api/12345/1
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"quantity": 1
|
||||
}
|
||||
|
||||
### Add item to cart
|
||||
POST http://localhost:8080/cart/12345/item
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"itemId": "67890",
|
||||
"quantity": 2
|
||||
}
|
||||
|
||||
### Remove item from cart
|
||||
DELETE http://localhost:8080/cart/12345/item/67890
|
||||
|
||||
### Checkout cart
|
||||
POST http://localhost:8080/cart/12345/checkout
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"paymentMethod": "credit_card",
|
||||
"shippingAddress": "123 Main St, Anytown, USA"
|
||||
}
|
||||
@@ -164,14 +164,15 @@ func (s *PoolServer) HandleRemoveDelivery(w http.ResponseWriter, r *http.Request
|
||||
|
||||
func (s *PoolServer) HandleQuantityChange(w http.ResponseWriter, r *http.Request) error {
|
||||
id := r.PathValue("id")
|
||||
itemIdString := r.PathValue("itemId")
|
||||
itemId, err := strconv.Atoi(itemIdString)
|
||||
|
||||
changeQuantity := messages.ChangeQuantity{}
|
||||
err := json.NewDecoder(r.Body).Decode(&changeQuantity)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reply, err := s.pool.Process(ToCartId(id), Message{
|
||||
Type: ChangeQuantityType,
|
||||
Content: &messages.ChangeQuantity{Id: int64(itemId)},
|
||||
Content: changeQuantity,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -182,14 +183,14 @@ func (s *PoolServer) HandleQuantityChange(w http.ResponseWriter, r *http.Request
|
||||
func (s *PoolServer) HandleAddRequest(w http.ResponseWriter, r *http.Request) error {
|
||||
id := r.PathValue("id")
|
||||
|
||||
pickupPoint := messages.AddRequest{}
|
||||
err := json.NewDecoder(r.Body).Decode(&pickupPoint)
|
||||
addRequest := messages.AddRequest{}
|
||||
err := json.NewDecoder(r.Body).Decode(&addRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reply, err := s.pool.Process(ToCartId(id), Message{
|
||||
Type: AddRequestType,
|
||||
Content: &pickupPoint,
|
||||
Content: &addRequest,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -203,7 +204,7 @@ func (s *PoolServer) Serve() *http.ServeMux {
|
||||
mux.HandleFunc("GET /{id}/add/{sku}", ErrorHandler(s.HandleAddSku))
|
||||
mux.HandleFunc("POST /{id}", ErrorHandler(s.HandleAddRequest))
|
||||
mux.HandleFunc("DELETE /{id}/{itemId}", ErrorHandler(s.HandleDeleteItem))
|
||||
mux.HandleFunc("PUT /{id}/{itemId}", ErrorHandler(s.HandleQuantityChange))
|
||||
mux.HandleFunc("PUT /{id}", ErrorHandler(s.HandleQuantityChange))
|
||||
mux.HandleFunc("POST /{id}/delivery", ErrorHandler(s.HandleSetDelivery))
|
||||
mux.HandleFunc("DELETE /{id}/delivery/{deliveryId}", ErrorHandler(s.HandleRemoveDelivery))
|
||||
mux.HandleFunc("PUT /{id}/delivery/{deliveryId}/pickupPoint", ErrorHandler(s.HandleSetPickupPoint))
|
||||
|
||||
@@ -16,7 +16,7 @@ func TestConnection(t *testing.T) {
|
||||
Id: id,
|
||||
storageMessages: []Message{},
|
||||
Items: []*CartItem{},
|
||||
Deliveries: make([]CartDelivery, 0),
|
||||
Deliveries: make([]*CartDelivery, 0),
|
||||
TotalPrice: 0,
|
||||
}, nil
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user