TK-FB(공장관리+신고)와 M-Project(부적합관리)를 3개 독립 시스템으로 분리하기 위한 전체 코드 구조 작성. - SSO 인증 서비스 (bcrypt + pbkdf2 이중 해시 지원) - System 1: 공장관리 (TK-FB 기반, 신고 코드 제거) - System 2: 신고 (TK-FB에서 workIssue 코드 추출) - System 3: 부적합관리 (M-Project 기반) - Gateway 포털 (path-based 라우팅) - 통합 docker-compose.yml 및 배포 스크립트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
68 lines
1.4 KiB
JavaScript
68 lines
1.4 KiB
JavaScript
/**
|
|
* Jest 전역 테스트 설정
|
|
*
|
|
* 모든 테스트 실행 전 자동으로 로드됩니다
|
|
*/
|
|
|
|
// 환경 변수 설정 (테스트 환경)
|
|
process.env.NODE_ENV = 'test';
|
|
process.env.LOG_LEVEL = 'error'; // 테스트 시 로그 최소화
|
|
|
|
// 타임존 설정
|
|
process.env.TZ = 'Asia/Seoul';
|
|
|
|
// 전역 타임아웃 확장 (필요 시)
|
|
jest.setTimeout(10000);
|
|
|
|
// 콘솔 출력 모킹 (선택사항 - 테스트 출력을 깔끔하게)
|
|
// global.console = {
|
|
// ...console,
|
|
// log: jest.fn(),
|
|
// debug: jest.fn(),
|
|
// info: jest.fn(),
|
|
// warn: jest.fn(),
|
|
// error: jest.fn(),
|
|
// };
|
|
|
|
// 모든 테스트 실행 전
|
|
beforeAll(() => {
|
|
// 전역 설정
|
|
});
|
|
|
|
// 각 테스트 파일 실행 전
|
|
beforeEach(() => {
|
|
// 각 테스트 전 초기화
|
|
});
|
|
|
|
// 각 테스트 파일 실행 후
|
|
afterEach(() => {
|
|
// 모킹 정리
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
// 모든 테스트 실행 후
|
|
afterAll(() => {
|
|
// 정리 작업
|
|
});
|
|
|
|
// 커스텀 매처 (선택사항)
|
|
expect.extend({
|
|
// 날짜 문자열 검증
|
|
toBeValidDate(received) {
|
|
const isValid = !isNaN(Date.parse(received));
|
|
return {
|
|
message: () => `expected ${received} to be a valid date string`,
|
|
pass: isValid
|
|
};
|
|
},
|
|
|
|
// ID 검증
|
|
toBeValidId(received) {
|
|
const isValid = Number.isInteger(received) && received > 0;
|
|
return {
|
|
message: () => `expected ${received} to be a valid ID (positive integer)`,
|
|
pass: isValid
|
|
};
|
|
}
|
|
});
|