주문 취소 처리

Automation커머스고급

쇼핑몰 운영팀에 "주문 취소가 상태마다 다르게 동작해 헷갈린다"는 제보가 들어왔다. 아래 정책을 분석해, 주문 상태에 따라 취소가 올바르게 처리되는지 검증하는 자동화 테스트를 작성하라. 어떤 상태·전이 케이스가 필요한지는 직접 판단해야 한다. [정책] 주문 상태는 결제완료·배송준비중·배송중·배송완료가 있다. 결제완료·배송준비중에서만 취소할 수 있고, 취소하면 전액(50,000원) 환불되며 상태가 취소됨으로 바뀐다. 배송중·배송완료에서는 취소할 수 없고 안내가 노출된다. 이미 취소된 주문은 다시 취소할 수 없다. (현재 상태는 상단 버튼으로 바꿔 테스트할 수 있다.)

요구사항

  1. 결제완료·배송준비중에서 취소하면 환불 완료와 환불액이 노출되고 상태가 취소됨으로 바뀐다.
  2. 배송중·배송완료에서는 취소 버튼이 비활성이고 취소 불가 안내가 노출된다.
  3. 취소 후에는 다시 취소할 수 없다.
  4. 상태에 따라 현재 상태 표시가 정확히 갱신된다.

Selector reference

셀렉터 타입을 선택하면 같은 요소의 data-testid, id, class 값을 확인할 수 있습니다. 선택한 값은 page.locator(...), 접근성 locator, 또는 Page Object 필드에서 사용하세요.

상태=결제완료
set-paid주문을 결제완료로
상태=배송준비중
set-preparing주문을 배송준비중으로
상태=배송중
set-shipping주문을 배송중으로
상태=배송완료
set-delivered주문을 배송완료로
현재 상태
order-status주문 현재 상태
취소 버튼
cancel-button주문 취소
취소 불가 안내
cancel-notice취소 불가 상태 안내
취소 결과
cancel-result취소·환불 완료 영역
환불액
refund-amount환불 금액
연습 대상 열기 ↗
에디터를 불러오는 중...
qaground grade
채점하면 실행 결과가 여기에 표시됩니다.