Files
Nitro-V3/tests
simoleo89 9d2e4a7324 Expand Vitest coverage on the pure helpers in src/api/{utils,wired}
22 -> 49 passing tests, 2 -> 3 test files.

Targets are functions with zero external dependencies (no renderer SDK,
no network, no DOM). They were picked because:
- they're easy to break by accident in a refactor (rounding edge cases,
  zero-padding rules);
- their behavior is documented by tests once and for all, including the
  surprising bit about LocalizeShortNumber rounding 950..999 into the
  "1K" bucket (kept as an explicit "documented quirk" assertion rather
  than fixed — the current behavior is what the rest of the app
  expects).

New file: tests/api-utils.test.ts (27 cases)
- ConvertSeconds: zero, 1m / 1h / 1d, mixed, single-digit padding (6).
- LocalizeShortNumber: zero/NaN/null guard, sub-1000 stays as-is, K/M/B
  buckets, negative numbers, the 950..999 rounding quirk (7).
- CloneObject: primitives, identity preservation, key fidelity (3).
- GetWiredTimeLocale: even (whole sec), odd (half sec), zero (3).
- WiredDateToString: zero-pad rules, two-digit values (2).
- PrefixUtils.parsePrefixColors: empty inputs, mapping, color reuse (3).
- PrefixUtils.getPrefixFontStyle: default empty id, known preset,
  unknown id (3).

Verification
- yarn test: 3 files / 49 cases / ~1.1s.
- yarn eslint on tests/: 0 errors / 0 warnings.
- All test targets are stable pure functions; the assertions
  double as documentation for callers.
2026-05-11 16:38:12 +00:00
..