Skip to content

사용자 시나리오

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: 주문 내역 추가가 실패하고, 결제를 취소한다.