|
All checks were successful
CI / test (pull_request) Successful in 2m40s
Seed plugin `demo-ce-seed` : - Nouveau descriptor dans registry (category visual). - src/lib/plugins/seeds/demo-ce.ts : seedDemoCe() + archiveDemoCe(). Crée org « Comité ESA Kourou (démo) » approved=true + 2 CE_MANAGERs + 3 CE_MEMBERs (password "demo") + 2 carbets co-gérés (OrganizationCarbetMembership) + 1 RentalProvider org-scoped + 4 items (hamac, moustiquaire, kayak, réchaud). - Idempotent : check existence par slug/email avant create. Upsert pour users. - Disable : soft-archive carbets (status=ARCHIVED), delete RentalProvider démo (best-effort si pas de booking), delete users démo (cascade memberships) + delete org. - Branchement hooks onEnable/onDisable dans plugins/hooks.ts. Permet de visualiser le module CE end-to-end sans signup manuel : admin active le plugin → l'org démo et son écosystème apparaissent sur le site (badge « Géré par le CE Comité ESA Kourou (démo) » sur les fiches carbet, items rental dans le catalogue /materiel). ce-invites.ts refactor : - Exporte hashToken (déjà sha256, désormais documenté). - Extrait isInviteValid(row, now=Date) : helper pur testable. La fonction getOrgInviteByToken le réutilise. tests/lib/ce-invites.test.ts (9 cas) : - hashToken : déterminisme, format sha256 64-hex, inputs différents, pas de fuite du plain. - isInviteValid : non consommé+non expiré → vrai ; consommé → faux ; expiré → faux ; les 2 raisons → faux ; injection now pour tests temporels. Total tests : 83/83 ✓ (74 précédents + 9 nouveaux). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| booking.test.ts | ||
| ce-access.test.ts | ||
| ce-invites.test.ts | ||
| email.test.ts | ||
| image-variants.test.ts | ||
| password.test.ts | ||
| payouts.test.ts | ||
| rate-limit.test.ts | ||
| rental-refund.test.ts | ||
| rentals.test.ts | ||
| reviews.test.ts | ||