- Fix 11 lint errors introduced during refactoring - All remaining 16 errors are pre-existing in unrefactored files
1.5 KiB
1.5 KiB
QA Wave 3-6 Findings
Scenarios Verified
- No Math.random in generators —
grep -r "Math.random" src/components/generators/returned 0 matches across 28 files. CLEAN. - DiceGenerator imports dice-engine — Found
import { parseDiceNotation, rollDice, rollAdvantage, buildNotation } from "@/lib/dice-engine";at line 274. - DiceGenerator line count — 760 lines (< 800 limit, was 958 before dedup).
- Build produces 62 pages —
npm run buildoutput:[build] 62 page(s) built in 3.60s. - Tests pass —
npm run test: 3 test files passed, 51 tests passed. - random.ts uses crypto.getRandomValues — Confirmed at lines 14, 23, 28.
- i18n.ts uses document.documentElement.lang — Confirmed at line 4.
- 28/28 generators use new imports — All import from
@/lib/client/random,@/lib/client/i18n, or@/lib/dice-engine.
Edge Cases Checked
- NumberGenerator: validates integer inputs, checks
min >= max. - PasswordGenerator: validates at least one character type is selected.
- CardGenerator: validates count >= 1, count <= 52, and unique draw <= 52.
- ListGenerator: validates non-empty list, count >= 1, unique pick <= list length.
- ShufflerGenerator: validates at least 2 items before shuffling.
Integration
- All generators use shared
random.ts(crypto-based) andi18n.ts(document.documentElement.lang). - No inline dice engine duplication remains in DiceGenerator.
- Build and tests are green.