Add backend unit/integration tests, Playwright e2e tests, README, cookie Secure fix
SonarQube Analysis / sonarqube (push) Successful in 4m20s
SonarQube Analysis / sonarqube (push) Successful in 4m20s
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
import { Client } from 'pg';
|
||||
|
||||
async function waitForDb(retries = 20): Promise<void> {
|
||||
const config = {
|
||||
host: process.env.TEST_PGHOST || 'localhost',
|
||||
port: parseInt(process.env.TEST_PGPORT || '55432', 10),
|
||||
user: process.env.TEST_PGUSER || 'redefined_test',
|
||||
password: process.env.TEST_PGPASSWORD || 'redefined_test',
|
||||
database: process.env.TEST_PGDATABASE || 'redefined_test'
|
||||
};
|
||||
for (let i = 0; i < retries; i++) {
|
||||
const client = new Client(config);
|
||||
try {
|
||||
await client.connect();
|
||||
await client.end();
|
||||
return;
|
||||
} catch {
|
||||
await new Promise(r => setTimeout(r, 1000));
|
||||
}
|
||||
}
|
||||
throw new Error(
|
||||
'Could not reach the test database on port 55432. Run `npm run db:test:up` before `npm run test:integration`.'
|
||||
);
|
||||
}
|
||||
|
||||
export default async function globalSetup(): Promise<void> {
|
||||
await waitForDb();
|
||||
const { migrate, closeDb } = await import('./testDb');
|
||||
await migrate();
|
||||
await closeDb();
|
||||
}
|
||||
Reference in New Issue
Block a user