Tests et qualité
Cette fiche concerne le code, pas l'exploitation d'une instance.
Pour un administrateur ou un opérateur
Rien de ce qui suit n'est requis pour installer, configurer ou faire fonctionner une instance TimePick. Les tests automatisés sont une pratique de développement : ils protègent le code contre les régressions avant qu'une nouvelle version soit publiée, mais aucune suite de tests ne tourne sur une instance en service. Vous pouvez ignorer cette fiche.
Pour un contributeur ou un mainteneur du code
Le projet a trois suites de tests indépendantes :
| Suite | Framework | Commande |
|---|---|---|
| Frontend (client) | Vitest + Testing Library | node scripts/run-vitest-single.js --client --run |
| Backend (server) | Jest + Supertest | cd server && npx jest --runInBand |
| End-to-end | Playwright | npm run test:e2e |
Points d'attention :
- Le wrapper
run-vitest-single.jsest obligatoire côté client (jamaisvitesten direct) : il évite l'accumulation de process orphelins qui finit par saturer la mémoire. - Le backend utilise des bases PostgreSQL de test dédiées, recréées automatiquement à l'exécution, configurées via un fichier
server/.env.testlocal (non commité — voirserver/.env.examplepour le gabarit). - Avant toute publication, le code doit aussi passer les vérifications statiques : compilation TypeScript (
tsc), lint (eslint) et détection de code mort (knip).