if (productId !== isProductInCarts) { throw new Error('ordered productId is not in the carts'); }
userId가 8인데 이 유저에 해당하는 게 carts 에 없다는 거
2. // 에러 핸들링 : carts에 담은 수량 < 주문한 수량__ 장바구니 < order 수량 많은 경우 없음_ 장바구니에서 저장 후 넘어가니 if (cartQuantity < quantity) { throw new Error('ordered more products than cartsQuantity'); }
3.
// 에러 핸들링: order.totalPrice > user : 포인트가 부족할 때 ( 갖고 있는 point보다 비싼 걸 살 때) if (totalPrice > isUsersPoints) { throw new Error('not enough points'); }
userId =8 의 points 0일때
controller로 올려가는
과정
1.
2.
원래 위 chat gpt 코드와 같았는데,
이후 아래와 같이 수정되었다 : 위 코드로는 req.body에 배열 [ ] 로 담기는데, 굳이 그럴 필요가 없으니.
에러는 어짜피 하나만 나오는데, 배열로 담기지 않게 하는게 더 좋다 라는 뜻
결과
에러 핸들링 1)
장바구니에 있는 수량 1개보다 더 많이 주문 해서 에러!
수정 후에는, body에 [ ] 배열 없이 담김
에러 핸들링 2)
userId = 8 인데 productId 1, 2 인 게 장바구니 carts에 없으니!
에러 메세지 나오고,
수량 변화도 없음
수정 후에는, body에 [ ] 배열 없이 담김
에러핸들링 3)
수정 후에는, body에 [ ] 배열 없이 담김수정 후에는, body에 [ ] 배열 없이 담김