- 장바구니 데이터를 불러온다.
- 장바구니 목록 선택 기능
- 전체 선택
- 개별 선택
- 결제 금액 계산
- 배송비(3천원) 계산 (결제 금액 10만원 이상 무료)
- 장바구니 목록 수량 변경
- 장바구니 상품 제거
- 장바구니에 담은 상품이 없는 경우 '주문 확인 버튼'이 비활성화 된다.
- 주문 확인 버튼을 클릭하면 '주문 확인 페이지'로 이동
- 장바구니의 상태를 스토리지에 저장하여 새로고침 시에도 유지되도록 한다.(장바구니 상품 선택 여부)
- Recoil을 사용하여 장바구니의 상태를 관리한다.
- 장바구니 상품의 다양한 상태를 Atom으로 관리한다.
- 결제 금액, 배송비 등의 파생 상태를 Selector를 통해 계산한다.
- 장바구니 데이터 로딩: /cart-items API 호출을 통해 초기 장바구니 데이터를 정상적으로 불러오는지 테스트한다.
- 상품 선택 기능: 개별 상품의 선택/해제 시 선택 여부가 정상적으로 변경되는지 테스트한다.
- 결제 금액 계산: 선택된 상품들의 가격 합계가 결제 금액으로 정상 반영되는지 테스트한다.
- 배송비 계산: 결제 금액에 따라 배송비가 정상적으로 계산되는지 (10만원 이상 무료) 테스트한다.
- 수량 변경 기능: 상품의 수량을 변경할 때 올바르게 반영되는지 테스트한다.
- 상품 제거 기능: 장바구니에서 상품을 제거할 때 정상적으로 동작하는지 테스트한다.