가게
결제 테이블에서 자신의 레스토랑 id 와 일치하는 모든 pamentId 가져오기
위에 녹색 상자를 가져온 pamentId 만큼 만듧.
pamentId로 조회한 order 테이블의 데이터의 주문 상태가 준비중 -> 준비완료 -> 배송중 -> 배송완료,취소 순으로 그 안에서 주문생성 시간 순으로 배열하기
진행상황
- 준비중 / 준비완료 / 배송중 / 배송완료 /취소 (order)
주문내역
- 메뉴(order)
- 개수(order)
고객정보
- 고객 이름
- 주소
고객
결제 테이블에서 자신의 id 와 일치하는 모든 pamentId 가져오기
위에 녹색 상자를 가져온 pamentId 만큼 만듧.
pamentId로 조회한 order 테이블의 데이터의 주문 상태가 배송전전 -> 배송완료,취소 순으로 그 안에서 주문생성 시간 순으로 배열하기
진행상황
- 준비중 / 준비완료 / 배송중 / 배송완료 /취소 (order)
- 여러 가게면 가장 이른 상태로 표시
주문내역
표시
<상호명> 메뉴 - 개수 상태
<성심당> 잠봉베르 센트위치 - 15개 준비중
- 레스토랑 이름(레스토랑 테이블)
- 메뉴(order)
- 개수(order)
- 상태(order)
가게정보
- 상호명
- 주소
- 평점
고객의 주문 취소는 배달중 일 때 불가
컬럼 추가
혹시 결제내역 테이블에 주소가 들어가야 할 이유가 있을까요??
라우터
import express from 'express';
import orderController from '../controllers/order.controller.js';
import { requireAccessToken } from '../middlewares/authorization.middleware.js';
const router = express.Router();
// 주문하기 <- 배송지 추가
router.post(
'/users/me/orders',
requireAccessToken,
orderController.createOrder,
);
// 주문취소
router.delete(
'/users/me/orders/:id',
requireAccessToken,
orderController.deleteOrder,
);
// 주문내역 조회 - 가게
router.get(
'/owners/me/orders/:id',
requireAccessToken,
orderController.orderInfo,
);
// 주문상태 수정 - 유저
router.patch(
'/users/me/orders/state/:id',
requireAccessToken,
orderController.editStatus,
);
// 주문상태 수정 - 가게
router.patch(
'/owners/me/orders/state/:id',
requireAccessToken,
orderController.editStatus,
);
export default router;
테스트 하기
※ 테스트 파일 명명 규칙
Jest는 기본적으로 __tests__ 폴더에 있거나 파일명이 .test.js 또는 .spec.js로 끝나는 파일을 테스트 파일로 인식합니다. 예를 들어:
- 파일명: order.repository.test.js
1. Jest 설치
npm install --save-dev jest
2. package.json 설정
package.json 파일에 테스트 스크립트를 추가합니다.
{
"scripts": {
"test": "jest"
}
}
3. Mock Prisma 설정
Prisma와의 통합 테스트를 실행하려면 Prisma의 Mocking을 설정해야 합니다. Jest를 사용하면 jest.mock으로 Prisma를 간단히 Mock할 수 있습니다. 이 부분은 위에서 제공된 코드에 포함되어 있습니다.
4. Jest 설정 커스터마이징 (Optional)
프로젝트 루트에 jest.config.js 파일을 생성해 Jest의 설정을 변경할 수 있습니다. 예:
module.exports = {
testEnvironment: 'node', // Node.js 환경에서 테스트 실행
verbose: true, // 상세한 테스트 결과 출력
transform: {}, // 바벨 트랜스폼 설정 (필요한 경우)
};
5. 테스트 실행
아래 명령어로 테스트를 실행합니다.
npm test
또는 좀 더 상세한 결과를 보고 싶다면:
npm test -- --verbose
'내일배움 과제 > CH4-2(배달앱)' 카테고리의 다른 글
내가 만든 부분 회고 (0) | 2025.01.16 |
---|---|
주문진행, 내역 화면 (0) | 2025.01.15 |
테스트 중에 막힌 것 250109 (0) | 2025.01.09 |
식당 조회 api 구현 (0) | 2025.01.08 |
6조 과제 설계 (0) | 2025.01.06 |