test: headless-Chromium smoke test for the UI layer

tests/smoke/run.mjs boots the production build in Playwright Chromium and
checks what jsdom cannot: the bundle boots, typing and the bold shortcut
reach ProseMirror, autosave survives a reload, a corpus ODT imports and
paginates; any uncaught page error fails the run. Wired as npm run
test:smoke and a CI job (build + chromium install), playwright-core is
now a devDependency.
This commit is contained in:
Steffen Becker committed 2026-08-15 21:58:47 +02:00
1 parent 0a91e573b4
commit 026f6b6d83
5 files changed
+113

No files matched your search

+15
View File
@@ -24,3 +24,18 @@ jobs:
- run: npm run check
# LibreOffice is not installed here, so the lo-roundtrip suite self-skips.
- run: npm test
# Production build booted in headless Chromium — catches bundling and boot
# regressions the jsdom suite cannot see.
smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npx playwright-core install chromium
- run: npm run build
- run: npm run test:smoke