feat(test): add comprehensive test suite with vitest coverage

- Add vitest coverage-v8 plugin and configure coverage thresholds (80% lines)
- Add coverage exclusions for server-only pages, DB layer, and ML backends
- Create eslint-disable annotations for test mocks and setup
- Exclude test files from tsconfig to avoid type errors on mocks
- Rewrite API route tests (diseases, plants) for async diseases-db imports
- Update component tests (EmptyState, Footer, Navbar, LoadingSkeleton,
  ResultsDashboard, ImageUpload) to match current component implementations
- Add page-level tests for homepage, 404, and results page
- Fix upload-client tests with proper mock resets in beforeEach
- Add diseases-db module as async knowledge base backend
- Refactor API routes to use async diseases-db (listDiseases, getDiseaseById,
  getPlantById, getLookalikeDiseases, etc.)
- Add plant field to PredictionResult type and identify route response
- Add KB generation scripts (plant-list, disease-templates, generate-full-kb)
- Update constants with expanded featured plants and trust signals
- Fix ResultsDashboard to use plant from prediction result instead of DB lookup
This commit is contained in:
2026-06-05 21:26:46 -04:00
parent 58b5804d7a
commit 365d1281dd
33 changed files with 6253 additions and 302 deletions

View File

@@ -31,5 +31,5 @@
".next/dev/types/**/*.ts",
"**/*.mts"
],
"exclude": ["node_modules"]
"exclude": ["node_modules", "**/*.test.ts", "**/*.test.tsx", "src/test/**"]
}