chore: remediate CI blockers for production readiness

This commit is contained in:
Ho Ngoc Hai
2026-05-07 13:08:20 +07:00
parent f82806e06d
commit b35ec55126
32 changed files with 401 additions and 113 deletions

View File

@@ -43,26 +43,14 @@ export default async function globalSetup() {
env: { ...process.env, DATABASE_URL: databaseUrl },
};
// Apply schema to test database.
// Prisma 7 removed datasource.url from schema — the URL is in prisma.config.ts
// which picks it up from DATABASE_URL env var set above.
// For local dev, the test DB is typically set up manually or via pg_dump.
console.log('[E2E globalSetup] Verifying test database schema...');
try {
execSync('npx prisma db push --accept-data-loss --config prisma/prisma.config.ts', execOpts);
} catch (err) {
console.warn('[E2E globalSetup] prisma db push failed (may be expected in Prisma 7):', (err as Error).message);
console.log('[E2E globalSetup] Continuing — assuming test DB schema is already set up.');
}
// Apply committed migrations only. `db push --accept-data-loss` hides
// migration drift and can mutate the test schema outside review.
console.log('[E2E globalSetup] Applying test database migrations...');
execSync('npx prisma migrate deploy --config prisma/prisma.config.ts', execOpts);
// Seed database (upserts are idempotent)
console.log('[E2E globalSetup] Seeding test database...');
try {
execSync('npx prisma db seed --config prisma/prisma.config.ts', execOpts);
} catch (err) {
console.warn('[E2E globalSetup] Seed failed (may be expected if Prisma 7 config changed):', (err as Error).message);
console.log('[E2E globalSetup] Continuing — assuming test DB is already seeded.');
}
execSync('npx prisma db seed --config prisma/prisma.config.ts', execOpts);
console.log('[E2E globalSetup] Test database ready.\n');
}