c4206f9809
- openThread/createThread accept a generic `subject` (group name) — stored on the
thread, echoed via listThreads; kernel never interprets it.
- Gateway open_thread now returns an ACK'd { error } on failure instead of throwing
(which never acked → clients hung on "loading"). Non-member/missing-thread opens
fail cleanly.
- Tests run against an isolated `iios_test` database (vitest globalSetup creates +
migrates it; test.env overrides DATABASE_URL) so `pnpm test` can never TRUNCATE the
dev database again. Verified: full suite green, dev DB row counts unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import { defineConfig } from 'vitest/config';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const r = (p: string) => fileURLToPath(new URL(p, import.meta.url));
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias: {
|
|
// Resolve workspace packages to their TS source so tests run without a
|
|
// build step. Production builds still go through tsc/dist.
|
|
'@insignia/iios-contracts': r('./packages/iios-contracts/src/index.ts'),
|
|
'@insignia/iios-testkit': r('./packages/iios-testkit/src/index.ts'),
|
|
'@insignia/iios-adapter-sdk': r('./packages/iios-adapter-sdk/src/index.ts'),
|
|
},
|
|
},
|
|
test: {
|
|
include: ['packages/**/src/**/*.{test,spec}.ts', 'test/**/*.{test,spec}.ts'],
|
|
// DB-backed specs TRUNCATE between tests, so they run against an ISOLATED
|
|
// `iios_test` database (created + migrated by the global setup) — never the dev
|
|
// DB. This env overrides any DATABASE_URL from the shell.
|
|
env: { DATABASE_URL: 'postgresql://iios:iios@localhost:5434/iios_test?schema=public' },
|
|
globalSetup: ['./scripts/vitest-global-setup.mjs'],
|
|
// Run every file in a single worker process, sequentially, so there is no
|
|
// cross-file race on the shared database.
|
|
fileParallelism: false,
|
|
sequence: { concurrent: false },
|
|
pool: 'forks',
|
|
poolOptions: { forks: { singleFork: true } },
|
|
},
|
|
});
|