Files
lcbp3/backend/test/jest.setup.ts
T
admin e1773481e2 fix(backend): resolve ESLint errors for Jest config and test setup files
- Add allowDefaultProject for JS config files in eslint.config.mjs

- Add no-console: off for test setup files

- Fix async arrow function without await in jest-e2e.setup.ts

- Remove unused eslint-disable directives
2026-03-28 12:56:04 +07:00

44 lines
1.1 KiB
TypeScript

/**
* Jest Global Setup
*
* ตั้งค่า global สำหรับทุก test file
* @see specs/05-Engineering-Guidelines/05-04-testing-strategy.md
*/
import 'reflect-metadata';
// Global test timeout (30 วินาที)
jest.setTimeout(30000);
// Mock console methods ใน test environment
// ลด noise ใน test output แต่ยังเก็บ error ไว้
const originalConsole = {
log: console.log,
info: console.info,
warn: console.warn,
};
global.beforeAll(() => {
// Suppress console.log ใน test (ยกเว้น error)
console.log = jest.fn();
console.info = jest.fn();
console.warn = jest.fn();
});
global.afterAll(() => {
// Restore original console methods
console.log = originalConsole.log;
console.info = originalConsole.info;
console.warn = originalConsole.warn;
});
// Clean up mocks หลังจากแต่ละ test
afterEach(() => {
jest.clearAllMocks();
});
// Global error handler สำหรับ unhandled promises
process.on('unhandledRejection', (reason) => {
console.error('Unhandled Promise Rejection:', reason);
});