Skip to content

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 :

SuiteFrameworkCommande
Frontend (client)Vitest + Testing Librarynode scripts/run-vitest-single.js --client --run
Backend (server)Jest + Supertestcd server && npx jest --runInBand
End-to-endPlaywrightnpm run test:e2e

Points d'attention :

  • Le wrapper run-vitest-single.js est obligatoire côté client (jamais vitest en 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.test local (non commité — voir server/.env.example pour 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).

Publié sous licence FSL-1.1-MIT.