-
Notifications
You must be signed in to change notification settings - Fork 3
사용자 시나리오
dongjoo edited this page Aug 22, 2023
·
4 revisions
Feature: 회원 가입
Scenario: 회원 가입에 성공한다
Given: 중복되지 않는 이메일을 입력한다
And: 비밀번호를 입력한다
And: 닉네임을 입력한다
When: 사용자가 입력한 정보로 회원가입을 요청한다
Then: 회원가입이 성공하여 유저가 등록된다
Feature: 로그인
Scenario: 로그인에 성공한다
Given: 이메일을 입력한다
And: 비밀번호를 입력한다
When: 사용자가 입력한 정보로 로그인을 요청한다
Then: 로그인이 성공하여 액세스 토큰을 받는다
Scenario: 장바구니 조회에 성공한다
Given: 사용자 토큰
When: 사용자가 장바구니 조회를 시도한다
Then: 장바구니에 물품을 추가한 순서대로(최신순) 목록이 보여진다
Scenario: 장바구니 추가에 성공한다
Given: 사용자 토큰
And: 물품 종류와 개수
When: 사용자의 장바구니에 물품을 추가한다
Then: 물품이 장바구니에 담긴다
Scenario: 장바구니 변경에 성공한다
Given: 사용자 토큰
When: 사용자의 장바구니에 물품 수량을 변경한다
Then: 물품 수량이 변경된다
Scenario: 장바구니 삭제에 성공한다
Given: 사용자 토큰
When: 사용자의 장바구니에 물품을 삭제한다
Then: 물품이 삭제된다
Feature: 상품 목록 조회
Scenario: 상품 목록을 조회한다
Given: 상품 목록 페이지를 입력한다
And: 페이지에 포함될 상품 개수를 입력한다 (페이징)
When: 상품 목록 조회를 요청한다
Then: 정렬되지 않은 상품 목록을 반환한다
Scenario: 상품 목록을 정렬하여 조회한다
Given: 상품 정렬 조건을 입력한다 (가격 오름차순 / 내림차순, 주문 내림차순)
When: 정렬된 상품 목록을 요청한다
Then: 사용자 요청 조건으로 정렬된 상품 목록을 반환한다
Feature: 상품 상세 정보 조회
Scenario: 상품 상세 정보를 조회한다
Given: 상품 아이디를 입력한다
When: 상품 상세 정보를 요청한다
Then: 상품 상세 정보를 반환한다
Scenario: 품절된 상품의 상세 정보를 조회한다
Given: 상품 아이디를 입력한다
When: 상품 상세 정보를 요청한다
Then: 품절 표시와 함께 상품 상세 정보를 반환한다
Feature: 상품 검색
Scenario: 상품 검색에 성공한다
Given: 키워드 길이가 허용 범위 이내이다
And: 키워드가 특수문자를 포함하지 않는다
When: 키워드로 검색한다
Then: 이름에 해당 키워드가 포함된 상품 목록이 출력된다
Scenario: 주문 내역 조회를 성공한다
Given: 사용자가 로그인 되어있다
When: 사용자가 본인의 주문 내역을 요청한다
Then: 최신순으로 정렬된 이전 주문 내역을 받는다
Scenario: 주문 내역 삭제를 성공한다
Given: 사용자가 로그인 되어있다
And: 주문 내역이 존재한다
When: 사용자가 주문 내역 삭제를 요청한다
Then: 주문 내역을 삭제한다
Scenario: 주문 내역 추가를 성공한다
Given: 사용자가 로그인 되어있다
And: 장바구니 아이템이 존재한다
And: 장바구니 아이템 재고가 1 이상이다
And: 총 금액에 대한 결제를 성공한다
When: 사용자가 주문 내역 추가를 요청한다
Then: 새로운 주문 내역이 추가되고, 재고가 1 내려간다
Scenario: 품절 상태이다
Given: 사용자가 로그인 되어있다
And: 장바구니 아이템이 존재한다
And: 장바구니 아이템 재고가 0이다
And: 총 금액에 대한 결제를 성공한다.
When: 사용자가 주문 내역 추가를 요청한다.
Then: 주문 내역 추가가 실패하고, 결제를 취소한다.