cart state

장바구니 상태 전이

상품 추가, 수량 변경, 삭제, 총액 계산을 reducer 규칙과 Context 전달로 나누면 장바구니 흐름을 안정적으로 검증할 수 있습니다.

cartReducer

ADD, INCREASE, DECREASE, REMOVE 같은 action으로 장바구니 상태 변화를 한곳에 모읍니다.

CartContext

items와 dispatch 또는 액션 함수를 필요한 컴포넌트까지 전달합니다.

화면 검증

상품 목록, 장바구니 목록, 총액 표시가 같은 상태를 기준으로 맞게 갱신되는지 확인합니다.

add

같은 상품 추가 시 수량 증가와 새 항목 추가를 구분한다.

count

수량이 0 이하로 내려가지 않도록 처리한다.

total

총액이 items 배열에서 계산되어 표시되는지 본다.

provider

장바구니를 쓰는 컴포넌트가 Provider 안에 있는지 확인한다.