test(frontend): lock the style invariants a QA pass keeps re-finding
Two defects in this QA pass were pure CSS drift with no test surface at all: 100vw full-bleed sections panning the document by a scrollbar's width, and controls sitting on three different corner radii. Assert both against the sources, so the next person who hard-codes a radius or drops an overflow-x guard fails CI instead of failing a screenshot review. Tests now read files off disk, so they live in their own tsc project (tsconfig.test.json, node types) excluded from the browser build.
This commit is contained in:
parent
1c94e0ebea
commit
fd0fe59fee
5 changed files with 65 additions and 1 deletions
27
frontend/tsconfig.test.json
Normal file
27
frontend/tsconfig.test.json
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2023",
|
||||
"lib": ["ES2023", "DOM"],
|
||||
"module": "esnext",
|
||||
// Tests read source files off disk (the style-invariant test), so they need
|
||||
// the Node types the browser build deliberately excludes.
|
||||
"types": ["node", "vite/client"],
|
||||
"allowArbitraryExtensions": true,
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"erasableSyntaxOnly": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["src/**/tests/*", "src/test"]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue