xpeditis2.0/apps/backend/test/setup-integration.ts
David 3434fa494d
Some checks failed
CD Preprod / Security gate (push) Successful in 29s
CD Preprod / Backend — Lint (push) Successful in 1m5s
CD Preprod / Frontend — Lint & Type-check (push) Successful in 1m14s
CD Preprod / Backend — Unit Tests (push) Successful in 1m8s
CD Preprod / Frontend — Unit Tests (push) Successful in 43s
CD Preprod / Backend — Integration Tests (push) Successful in 46s
CD Preprod / Build Backend (push) Successful in 16m40s
CD Preprod / Build Log Exporter (push) Successful in 1m8s
CD Preprod / Build Frontend (push) Successful in 39m48s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, frontend) (push) Failing after 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, backend) (push) Failing after 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, log-exporter) (push) Failing after 22s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, backend) (push) Failing after 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, frontend) (push) Failing after 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, log-exporter) (push) Failing after 21s
CD Preprod / Deploy to Preprod (push) Has been skipped
CD Preprod / Notify Success (push) Has been skipped
CD Preprod / Notify Failure (push) Has been skipped
fix test
2026-09-25 15:53:45 +02:00

48 lines
1.7 KiB
TypeScript

/**
* Integration test setup
* Runs before all integration tests
*/
// Set test environment variables
process.env.NODE_ENV = 'test';
process.env.TEST_DB_HOST = process.env.TEST_DB_HOST || 'localhost';
process.env.TEST_DB_PORT = process.env.TEST_DB_PORT || '5432';
process.env.TEST_DB_USER = process.env.TEST_DB_USER || 'postgres';
process.env.TEST_DB_PASSWORD = process.env.TEST_DB_PASSWORD || 'postgres';
process.env.TEST_DB_NAME = process.env.TEST_DB_NAME || 'xpeditis_test';
// Enable the repository integration suite using the disposable CI service.
// Never fall back to DATABASE_* (the application's deployment connection).
if (!process.env.TRADE_TEST_DATABASE_URL) {
const database = new URL('postgresql://localhost');
database.hostname = process.env.TEST_DB_HOST;
database.port = process.env.TEST_DB_PORT;
database.username = process.env.TEST_DB_USER;
database.password = process.env.TEST_DB_PASSWORD;
database.pathname = `/${process.env.TEST_DB_NAME}`;
process.env.TRADE_TEST_DATABASE_URL = database.toString();
}
// Redis test configuration
process.env.REDIS_HOST = process.env.REDIS_HOST || 'localhost';
process.env.REDIS_PORT = process.env.REDIS_PORT || '6379';
process.env.REDIS_DB = '1'; // Use DB 1 for tests
// Carrier API test configuration
process.env.MAERSK_API_BASE_URL = 'https://api.maersk.com';
process.env.MAERSK_API_KEY = 'test-api-key';
// Increase test timeout for integration tests
jest.setTimeout(30000);
// Global test helpers
global.console = {
...console,
// Suppress console logs during tests (optional)
// log: jest.fn(),
// debug: jest.fn(),
// info: jest.fn(),
// warn: jest.fn(),
error: console.error, // Keep error logs
};