Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Step3 - 테스트를 통한 코드 보호 #161

Open
wants to merge 46 commits into
base: bgpark82
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
24cd4a4
refactoring(step2): 피드백 반영
bgpark82 Aug 6, 2021
9e4c2a3
chore(step3): RestAssured 의존성 추가
bgpark82 Aug 8, 2021
0148a62
test(step3): 상품 등록 인수 테스트
bgpark82 Aug 8, 2021
af26cda
refactor(step3): Step 클래스 분리
bgpark82 Aug 8, 2021
395380d
refactor(step3): AcceptanceTest 분리
bgpark82 Aug 8, 2021
903cdfe
test(step3): 상품 가격 0 이상 테스트
bgpark82 Aug 8, 2021
36030fc
test(step3): 상품 이름에 욕설 허용 여부 테스트
bgpark82 Aug 8, 2021
0ff24e3
test(step3): 상품 가격 변경 인수 테스트
bgpark82 Aug 9, 2021
1316165
refactor(step3): Step 메소드 분리
bgpark82 Aug 9, 2021
004c21e
test(step3): 변경될 상품 가격 테스트
bgpark82 Aug 9, 2021
a9d432c
test(step3): 메뉴 가격이 메뉴상품 가격의 합보다 클 경우 숨김 테스트
bgpark82 Aug 9, 2021
151acc9
test(step3): 모든 상품 조회 인수 테스트
bgpark82 Aug 9, 2021
336413b
chore(step3): 인수 테스트용 H2 세팅
bgpark82 Aug 10, 2021
0880635
test(step3): 모든 상품 조회 인수 테스트
bgpark82 Aug 10, 2021
efe3ef9
refactor(step3): 중복 코드 제거
bgpark82 Aug 10, 2021
2d636d0
refactor(step3): product 패키지 분리
bgpark82 Aug 10, 2021
4f0e87d
test(step3): 메뉴 그룹 등록 인수 테스트
bgpark82 Aug 10, 2021
bf880e5
refactor(step3): Step 메소드 분리
bgpark82 Aug 10, 2021
0820840
test(step3): MenuGroup 서비스 테스트
bgpark82 Aug 10, 2021
f320454
test(step3): 모든 메뉴 그룹 조회 인수 테스트
bgpark82 Aug 10, 2021
d0077e5
refactor(step3): Step 메소드 분리
bgpark82 Aug 10, 2021
ae34a6f
doc(step3): 완료된 요구사항 체크
bgpark82 Aug 10, 2021
9ece296
refactor(step3): 테스트 Stub을 Request 클래스로 변경
bgpark82 Aug 10, 2021
bdafc4a
test(step3): Menu 인수 테스트
bgpark82 Aug 10, 2021
722776c
test(step3): Menu 서비스 테스트
bgpark82 Aug 10, 2021
07404eb
fix(step3): 레거시 코드 롤백
bgpark82 Aug 12, 2021
b24413e
style(step3): 테스트 DisplayName 내용 변경
bgpark82 Aug 12, 2021
41c3062
refactor(step3): TestFixture 패키지 분리
bgpark82 Aug 12, 2021
9e06ad9
refactor(step3): ReflectionTestUtils 제거
bgpark82 Aug 12, 2021
1837087
refactor(step3): assertAll 추가
bgpark82 Aug 12, 2021
2821d57
refactor(step3): @ParameterizedTest로 변경
bgpark82 Aug 13, 2021
e17814a
style(step3): 테스트 DisplayName 내용 변경
bgpark82 Aug 13, 2021
d13a6c5
test(step3): 메뉴 가격 변경 테스트
bgpark82 Aug 13, 2021
732610e
refactor(step3): Fixture 네이밍 변경
bgpark82 Aug 14, 2021
7a510da
test(step3): OrderTable 서비스 테스트
bgpark82 Aug 15, 2021
4347bb7
refactor(step3): Fixture 분리
bgpark82 Aug 15, 2021
2e71919
test(step3): 주문 생성 테스트
bgpark82 Aug 15, 2021
ef24a8d
test(step3): 주문 서비스 테스트
bgpark82 Aug 16, 2021
118db30
fix(step3): 인수 테스트 제거
bgpark82 Aug 16, 2021
507f3a8
fix(step3): 불필요한 코드 제거
bgpark82 Aug 18, 2021
5fa496f
fix(step3): 상품 테스트 수정
bgpark82 Aug 20, 2021
8b84423
fix(step3): 메뉴 테스트 수정
bgpark82 Aug 20, 2021
160d23c
fix(step3): 메뉴 그룹 테스트 수정
bgpark82 Aug 20, 2021
f50a755
fix(step3): 주문 테스트 수정
bgpark82 Aug 20, 2021
f583844
fix(step3): 주문 테이블 테스트 수정
bgpark82 Aug 20, 2021
4b79f47
fix(step3): Display 내용 변경
bgpark82 Aug 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 71 additions & 72 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,86 +4,85 @@
- 간단한 주문 앱을 제작한다

### 메뉴 그룹 (Menu Group)
- [ ] 메뉴 그룹을 등록한다
- [ ] 메뉴 그룹 이름은 한글자 이상이다
- [ ] 메뉴 그룹의 식별자를 생성한다
- [ ] 등록된 메뉴 그룹을 모두 조회한다
- [x] 메뉴 그룹을 등록한다
- [x] 메뉴 그룹 이름은 한글자 이상이다
- [x] 등록된 메뉴 그룹을 모두 조회한다

### 메뉴 (Menu)
- [ ] 메뉴를 등록한다
- [ ] 메뉴 그룹의 식별자를 생성한다
- [ ] 메뉴 가격은 0 이상이다
- [ ] 메뉴는 등록되어 있는 메뉴 그룹에 포함된다
- [ ] 메뉴 상품은 모두 상품으로 등록되어 있어야 한다.
- [ ] 메뉴 상품의 수량은 0 보다 작을 수 없다.
- [ ] 메뉴의 가격은 메뉴 상품들의 (가격 * 수량) 합을 넘을 수 없다.
- [ ] 메뉴 이름은 빈 값이 아니다.
- [ ] 메뉴 이름은 욕설을 포함하지 않는다.
- [ ] 메뉴의 가격을 수정한다
- [ ] 메뉴 가격은 1보다 커야한다
- [ ] 메뉴 가격은 메뉴 상품들의 (가격 * 수량) 합을 넘을 수 없다.
- [ ] 메뉴를 노출한다
- [ ] 등록된 메뉴만 노출한다
- [ ] 노출주려는 메뉴의 가격은 메뉴에 등록된 메뉴 상품의 가격의 합보다 커야한다
- [ ] 메뉴를 숨긴다
- [ ] 등록된 메뉴만 숨길 수 있다
- [ ] 모든 메뉴를 조회한다
- [x] 메뉴를 등록한다
- [x] 메뉴 그룹의 식별자를 생성한다
- [x] 메뉴 가격은 0 이상이다
- [x] 메뉴는 등록되어 있는 메뉴 그룹에 포함된다
- [x] 메뉴는 메뉴 상품을 가져야 한다
- [x] 메뉴 상품은 모두 상품으로 등록되어 있어야 한다.
- [x] 메뉴 상품의 수량은 0 이상이다.
- [x] 메뉴의 가격은 메뉴 상품들의 (가격 * 수량) 합을 넘을 수 없다.
- [x] 메뉴 이름은 욕설을 포함하지 않는다.
- [x] 메뉴의 가격을 변경한다
- [x] 변경되는 메뉴 가격은 1보다 커야한다
- [x] 변경되는 메뉴 가격은 메뉴 상품들의 (가격 * 수량) 합을 넘을 수 없다.
- [x] 메뉴를 노출한다
- [x] 등록된 메뉴만 노출한다
- [x] 노출하려는 메뉴의 가격은 메뉴에 등록된 메뉴 상품의 가격의 합보다 커야한다
- [x] 메뉴를 숨긴다
- [x] 등록된 메뉴만 숨길 수 있다
- [x] 모든 메뉴를 조회한다

### 주문 (Order)
- [ ] 주문한다
- [ ] 주문은 배달, 포장, 매장식사 셋 중에 하나다
- [ ] 주문 상품은 하나 이상이다
- [ ] 주문한 상품이 등록된 상품에 있어야 한다
- [ ] 주문 상품 수량은 매장 식사가 아닌 경우 하나 이상 주문해야 한다
- [ ] 메뉴는 모든 노출되어 있어야 한다
- [ ] 메뉴의 가격과 각 주문 항목의 가격은 일치해야 한다
- [ ] 배달 주문인 경우, 배달 주소가 빈 값일 수 없다
- [ ] 매장 식사의 경우, 주문 테이블이 비어있지 않아야 한다
- [ ] 주문을 수락한다
- [ ] 대기 중인 주문 상태만 수락가능하다
- [ ] 배달 주문인 경우, 주문 정보를 라이더에게 전달한다
- [ ] 주문 상태를 수락으로 변경한다
- [ ] 주문을 서빙한다
- [ ] 수락된 주문 상태만 서빙할 수 있다
- [ ] 주문 상태를 서빙 완료로 변경한다
- [ ] 배달을 시작한다
- [ ] 배달 주문만 배달 가능하다
- [ ] 서빙 완료 상태의 주문만 배달 가능하다
- [ ] 주문 상태를 배달 중으로 변경한다
- [ ] 배달을 완료한다
- [ ] 배달 주문만 배달을 완료할 수 있다
- [ ] 주문 상태를 배달 완료로 변경한다
- [ ] 주문이 완료된다
- [ ] 배달 주문인 경우, 주문 상태가 배달 완료이어야 하다
- [ ] 포장이나 매장 식사의 경우, 주문 상태가 서빙 완료이어야 한다
- [ ] 주문 상태를 완료 상태로 변경한다
- [ ] 매장 식사인 경우, 주문 테이블의 고객 수를 0명 그리고 빈 자리로 변경한다
- [ ] 모든 주문을 조회한다
- [x] 주문한다
- [x] 주문은 배달, 포장, 매장식사 셋 중에 하나다
- [x] 주문 상품은 하나 이상이다
- [x] 주문한 상품이 등록된 상품에 있어야 한다
- [x] 주문 상품 수량은 매장 식사가 아닌 경우 하나 이상 주문해야 한다
- [x] 메뉴는 모든 노출되어 있어야 한다
- [x] 메뉴의 가격과 각 주문 항목의 가격은 일치해야 한다
- [x] 배달 주문인 경우, 배달 주소가 빈 값일 수 없다
- [x] 매장 식사의 경우, 주문 테이블이 비어있지 않아야 한다
- [x] 주문을 수락한다
- [x] 대기 중인 주문 상태만 수락가능하다
- [x] 배달 주문인 경우, 주문 정보를 라이더에게 전달한다
- [x] 주문 상태를 수락으로 변경한다
- [x] 주문을 서빙한다
- [x] 수락된 주문 상태만 서빙할 수 있다
- [x] 주문 상태를 서빙 완료로 변경한다
- [x] 배달을 시작한다
- [x] 배달 주문만 배달 가능하다
- [x] 서빙 완료 상태의 주문만 배달 가능하다
- [x] 주문 상태를 배달 중으로 변경한다
- [x] 배달을 완료한다
- [x] 배달 주문만 배달을 완료할 수 있다
- [x] 배달 중인 상태의 주문만 배달 가능하다
- [x] 주문 상태를 배달 완료로 변경한다
- [x] 주문이 완료된다
- [x] 배달 주문인 경우, 주문 상태가 배달 완료이어야 하다
- [x] 포장이나 매장 식사의 경우, 주문 상태가 서빙 완료이어야 한다
- [x] 주문 상태를 완료 상태로 변경한다
- [x] 매장 식사인 경우, 주문 테이블의 고객 수를 0명 그리고 빈 자리로 변경한다
- [x] 모든 주문을 조회한다

### 주문 테이블 (Order Table)
- [ ] 주문 테이블을 등록한다
- [ ] 테이블 이름은 반드시 가진다
- [ ] 테이블의 식별자를 생성한다
- [ ] 테이블 등록 시, 테이블의 고객은 0명이고 비어있는다.
- [ ] 고객이 테이블에 앉는다
- [ ] 고객이 테이블에 앉으면 테이블을 채운다
- [ ] 테이블을 치운다
- [ ] 주문이 완료된 테이블을 치울 수 없다
- [ ] 테이블을 치우면 고객은 0명이고 비어 있도록 한다
- [ ] 테이블의 고객 숫자가 변경된다
- [ ] 고객의 숫자가 0명 이상 이어야 한다
- [ ] 비어있는 테이블은 고객 숫자를 변경할 수 없다
- [ ] 모든 가게 테이블을 조회한다
- [x] 주문 테이블을 등록한다
- [x] 테이블 이름은 반드시 가진다
- [x] 테이블의 식별자를 생성한다
- [x] 테이블 등록 시, 테이블의 고객은 0명이고 비어있는다.
- [x] 고객이 테이블에 앉는다
- [x] 고객이 테이블에 앉으면 테이블을 채운다
- [x] 테이블을 치운다
- [x] 주문이 완료된 테이블을 치울 수 없다
- [x] 테이블을 치우면 고객은 0명이고 비어 있도록 한다
- [x] 테이블의 고객 숫자가 변경된다
- [x] 고객의 숫자가 0명 이상 이어야 한다
- [x] 비어있는 테이블은 고객 숫자를 변경할 수 없다
- [x] 모든 가게 테이블을 조회한다

### 상품 (Product)
- [ ] 상품을 등록한다
- [ ] 상품의 가격은 0 이상 이어야 한다
- [ ] 상품 이름에 욕설을 허용하지 않는다
- [ ] 상품 가격을 변경한다
- [ ] 상품 가격은 0이상 이어야 한다
- [ ] 등록된 상품만 가격을 변경할 수 있다
- [ ] 상품 가격 변경 시, 상품이 속한 메뉴의 가격이 상품들의 가격의 합보다 크면 숨김 처리한다
- [ ] 모든 상퓸울 조회한다
- [x] 상품을 등록한다
- [x] 상품의 가격은 0 이상 이어야 한다
- [x] 상품 이름에 욕설을 허용하지 않는다
- [x] 상품 가격을 변경한다
- [x] 변경될 상품 가격은 0이상 이어야 한다
- [x] 상품이 속한 각 메뉴의 가격이 메뉴상품들의 가격의 합보다 크면 숨김 처리한다
- [x] 모든 상퓸울 조회한다


## 용어 사전
Expand Down
Loading