feat(db): add test fixtures script
This commit is contained in:
@@ -85,6 +85,19 @@ En terminal interactif (VS Code), `migrate dev` fonctionne normalement (taper `y
|
||||
- Idempotence : `upsert` sur `Role.code` ; `findFirst` avant `create` pour les entités sans clé unique. Relance vérifiée (aucun doublon).
|
||||
- Incident : le client Prisma était obsolète (ne connaissait que les 4 modèles de référence). Régénéré avec `npx prisma generate` avant le seed. Leçon : après des migrations, régénérer/vérifier le client avant d'exécuter du code qui l'utilise.
|
||||
|
||||
### Étape 10 — Fixtures de test
|
||||
- Fichier `prisma/fixtures.ts` + script `npm run fixtures` (séparé du seed : données de dev/test, non installées en production).
|
||||
- Non destructif : détection via un email témoin (`marie.dupont@ensitech.eu`) ; si présent, le script s'arrête (cohérent avec le principe "pas de suppression automatique").
|
||||
- Contenu : 4 utilisateurs (3 étudiants + 1 responsable), 3 cartes, 6 matériels (statuts variés), 3 accessoires + liaisons, 4 emprunts couvrant `EN_COURS` / `EN_RETARD` / `CLOTURE` / `RETOUR_NON_CONFORME`, 6 checklists, 1 anomalie + 1 notification, 2 entrées d'historique.
|
||||
- Idempotence vérifiée (2e exécution = skip).
|
||||
|
||||
#### Contexte métier clarifié — structure ENSUP (impacte la modélisation)
|
||||
- ENSUP est un groupe **multi-campus** (Saint-Christophe/Cergy, Saint-Quentin, Nantes, Marseille...).
|
||||
- Chaque campus héberge **deux écoles** : ENSUP (filières généralistes) et Ensitech (informatique). Bâtiments et salles **partagés**.
|
||||
- La distinction d'école se fait par le **domaine email** : `ensitech.eu` (info) et `ensup.eu` (reste). La validation de domaine (RG, à venir) doit accepter les **deux**.
|
||||
- Le modèle n'a pas d'entité "École" : seule `Campus` existe. Un campus = un lieu physique partagé par les deux écoles (et non une école).
|
||||
- MVP : on démarre avec le **seul campus Saint-Christophe (Cergy)** ; les autres campus viendront ensuite.
|
||||
|
||||
---
|
||||
|
||||
## Dette technique en attente
|
||||
@@ -99,4 +112,4 @@ En terminal interactif (VS Code), `migrate dev` fonctionne normalement (taper `y
|
||||
|
||||
---
|
||||
|
||||
*Dernière mise à jour : 2026-06-15 — Seeds de référence en place.*
|
||||
*Dernière mise à jour : 2026-06-15 — Fixtures de test en place, Block 2 terminé.*
|
||||
|
||||
Reference in New Issue
Block a user