항해 플러스 1주차 과제 - tdd
- Nest.js 의 경우 Typescript , Spring 의 경우 Kotlin / Java 중 하나로 작성합니다.
- 프로젝트에 첨부된 설정 파일은 수정하지 않도록 합니다.
- 테스트 케이스의 작성 및 작성 이유를 주석으로 작성하도록 합니다.
- 프로젝트 내의 주석을 참고하여 필요한 기능을 작성해주세요.
- 분산 환경은 고려하지 않습니다.
요구 사항
- PATCH
/point/{id}/charge
: 포인트를 충전한다. - PATCH
/point/{id}/use
: 포인트를 사용한다. - GET
/point/{id}
: 포인트를 조회한다. - GET
/point/{id}/histories
: 포인트 내역을 조회한다. - 잔고가 부족할 경우, 포인트 사용은 실패하여야 합니다.
- 동시에 여러 건의 포인트 충전, 이용 요청이 들어올 경우 순차적으로 처리되어야 합니다.
[ Step 1 ]
- 테스트 케이스의 작성 및 작성 이유를 주석의 작성 여부
- 프로젝트 내의 주석에 필요한 기능의 작성 여부
- 단위테스트 구현 여부
[ Step 2 ]
- 로컬에서 동시성 제어 및 관련 통합 테스트 작성 여부