Files
OmniRoute/tests
diegosouzapw 5dd75be1b9 test(batch): add integration tests + sanitization asserts + coverage gap fillers (F9)
- Add tests/unit/batches-f9-helpers.test.ts (19 tests, top-level for c8 coverage gate)
  covering uncovered branches: alias-match pricing, blank CSV rows, body.input/prompt paths,
  non-object JSON lines, invalid Anthropic params, body-is-array validation
- Add tests/unit/dashboard/batch/concept-cards.test.tsx (16 tests)
  covering BatchConceptCard + FilesConceptCard: render, toggle, localStorage hydration, sanitization
- Add tests/unit/dashboard/batch/list-regression.test.tsx (15 tests)
  covering BatchListTab + FilesListTab: render N items, Remove-completed flow,
  status/purpose filter, loading/empty states, sanitization
- Add tests/unit/dashboard/batch/sanitization.test.tsx (8 tests)
  covering NewBatchWizard + UploadFileModal + useBatchActions: each error path
  asserts zero stack-trace/path leakage into the UI (D14 / Hard Rule #12)
- Fix bug in validateJsonl.ts: body=array was not caught as invalid
  (typeof array === "object" is true — add Array.isArray guard, 1-line fix)

Local src/lib/batches/ coverage: 100% stmts / 93.7% branches / 100% funcs / 100% lines.
Global coverage gate: 75.96% stmts / 71.97% branches / 75.52% funcs (all above 75/75/75/70).
2026-05-27 23:14:17 -03:00
..
2026-05-23 01:46:59 -03:00
2026-05-26 23:51:47 -03:00
2026-05-10 00:55:06 -03:00