/claim #71
Fixes #71.
Summary
- Add focused Vitest coverage for the interface template page entrypoint.
- Cover the no-root guard so the module does not hydrate when
#root[data-client="template"] is absent.
- Cover the positive hydration path and assert
hydrateRoot receives the server root.
- Add a non-overlapping interface primitive coverage slice for Avatar fallback/image states, Card anchor/div variants, Label required validation messaging, Loader sizing, Toggle size/selected classes, and Input prefix/suffix, invalid state, sizing, and custom class handling.
- Add public package entrypoint coverage for the root runtime API (
StarbaseDB, StarbaseDBDurableObject) and documented plugin barrel exports.
- Add JSON import route coverage for malformed
application/json payload shapes, invalid uploaded JSON files, column mapping inserts, and valid multipart JSON file imports.
- Assert malformed JSON import requests return the existing 400 validation response without calling
executeOperation.
Validation
pnpm exec vitest --run src/import/json.test.ts src/public-entrypoints.test.ts plugins/interface/pages/template/index.test.tsx plugins/interface/components/primitives.test.tsx -> 22 tests passed
pnpm exec prettier --check src/import/json.test.ts src/public-entrypoints.test.ts plugins/interface/pages/template/index.test.tsx plugins/interface/components/primitives.test.tsx -> passed
git diff --check -> passed
Note: I also ran the current full coverage command, pnpm exec vitest --run --coverage.enabled true --coverage.reporter=text; the baseline currently fails in existing src/rls/index.test.ts assertions before this change. This PR’s focused tests pass locally.