# Unit suites `npm test` runs `node --no-warnings --test tests/*.test.ts` — 43 tests, no test framework installed, nothing external. The analyst and Jev are exercised through injected `fetch`, so no key and no network is needed. Constraints that shape the code, not the tests: modules loaded by bare `node --test` cannot resolve the `@` import alias, so test-imported modules import each other by relative `./x.ts` path (which is why `allowImportingTsExtensions` is on), and `next/headers` plus `next/navigation` are imported lazily inside `lib/auth.ts`. The digest suite is the one that grew teeth: it now asserts nesting depth beyond the parser default, table names taken from `` children, character-reference decoding, six plan-file encodings, and that a truncated plan's error names a reason. Related: [[Playwright projects]], [[Smoke script]], [[Plan file encoding]].