Files
Ashley Hunter 1b743f8019 test: migrate from jest to vitest with browser testing for brain/helm
Replace Jest with Vitest across the workspace. The brain and helm Angular suites
now run in a real browser (Playwright/Chromium via Vitest browser mode) so they
exercise real layout, focus, pointer events and computed styles that jsdom could
not. The cli, tools, mcp, registry and cli-smoke suites run on Vitest's node
environment.

- Add per-project vite configs and switch test targets to @nx/vitest:test
- Convert jest APIs to vi.* and jest module mocks to vi.mock with importOriginal
- Replace jest-axe with a browser-native axe-core helper and toHaveNoViolations
- Regenerate snapshots in vitest format (content unchanged, format-only)
- Remove all jest packages, configs, the preset and the @nx/jest target default
- Install Playwright Chromium in the CI unit job for the browser suites

Also fixes a brain avatar test that asserted inside a fire-and-forget setTimeout,
which passed vacuously under jsdom and only surfaced once a real browser loaded
the image.
2026-06-13 15:16:45 +01:00

42 lines
950 B
JSON

{
"name": "brain",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/brain/src",
"prefix": "brn",
"projectType": "library",
"tags": ["scope:brain"],
"targets": {
"build": {
"executor": "@nx/angular:package",
"outputs": ["{workspaceRoot}/dist/{projectRoot}"],
"options": {
"project": "libs/brain/ng-package.json",
"tsConfig": "libs/brain/tsconfig.lib.json"
},
"configurations": {
"production": {
"tsConfig": "libs/brain/tsconfig.lib.prod.json"
},
"development": {}
},
"defaultConfiguration": "production"
},
"test": {
"executor": "@nx/vitest:test",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"configFile": "libs/brain/vite.config.mts"
}
},
"lint": {
"executor": "@nx/eslint:lint"
},
"release": {
"executor": "@spartan-ng/tools:build-update-publish",
"options": {
"libName": "brain"
}
}
}
}