Files
Randify.pro/.sisyphus/notepads/qa-wave3-6/learnings.md
T
emil 8a0e2b5e0f fix(lint): remove unused vars in refactored generators
- Fix 11 lint errors introduced during refactoring
- All remaining 16 errors are pre-existing in unrefactored files
2026-05-13 20:59:01 +03:00

27 lines
1.5 KiB
Markdown

# QA Wave 3-6 Findings
## Scenarios Verified
1. **No Math.random in generators** — `grep -r "Math.random" src/components/generators/` returned 0 matches across 28 files. CLEAN.
2. **DiceGenerator imports dice-engine** — Found `import { parseDiceNotation, rollDice, rollAdvantage, buildNotation } from "@/lib/dice-engine";` at line 274.
3. **DiceGenerator line count** — 760 lines (< 800 limit, was 958 before dedup).
4. **Build produces 62 pages** — `npm run build` output: `[build] 62 page(s) built in 3.60s`.
5. **Tests pass** — `npm run test`: 3 test files passed, 51 tests passed.
6. **random.ts uses crypto.getRandomValues** — Confirmed at lines 14, 23, 28.
7. **i18n.ts uses document.documentElement.lang** — Confirmed at line 4.
8. **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) and `i18n.ts` (document.documentElement.lang).
- No inline dice engine duplication remains in DiceGenerator.
- Build and tests are green.