- PGlite (in-memory WASM Postgres) hosted in a child process, exposed via TCP socket; real migrations applied with prisma migrate deploy - Vitest harness (vitest.integration.config.ts, global-setup spawns PGlite + built Nuxt server, per-test TRUNCATE, factories, cookie-jar API client); no mocks, zero production code changes - 50 tests across auth, hunt, team, submit, review, showcase, diashow incl. SuperJSON envelope check; *.itest.ts keeps bun test untouched - CI: parallel unit + integration jobs in .github/workflows/test.yml - tests/ covered by nuxt typecheck via tests/tsconfig.json reference
12 lines
400 B
TypeScript
12 lines
400 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { api } from '../helpers/api';
|
|
|
|
// Proves the full loop: PGlite -> migrations -> build -> server -> fetch.
|
|
describe('health', () => {
|
|
it('reports a working database connection', async () => {
|
|
const res = await api.get('/api/health');
|
|
expect(res.status).toBe(200);
|
|
expect(await res.json()).toEqual({ ok: true, db: true });
|
|
});
|
|
});
|