diff --git a/docs/superpowers/plans/2026-05-20-forfait-mid-year-entry-leaves.md b/docs/superpowers/plans/2026-05-20-forfait-mid-year-entry-leaves.md index 6e43dac..016398b 100644 --- a/docs/superpowers/plans/2026-05-20-forfait-mid-year-entry-leaves.md +++ b/docs/superpowers/plans/2026-05-20-forfait-mid-year-entry-leaves.md @@ -407,7 +407,16 @@ git commit -m "feat(leave) : forfait mid-year entry credits prorated repos + car --- -## Task 6: Validation d'intégration contre Grégory (id 41) +## Task 6: Validation d'intégration contre Grégory (id 41) — ✅ FAIT + +**Résultat (probe sur BDD prod locale, supprimée après usage) :** +| Cas | Employé | Obtenu | Attendu | +|---|---|---|---| +| 1 — entrée après non-forfait | Grégory 2026 | 12.94 ≈ 13 | 13 ✓ | +| Non-régression année pleine | Geoffrey 2026 | 34.0 | 34 ✓ | +| 2 — nouvel embauché | Olivier 2025 | 0.54 (repos seuls) | repos seuls ✓ | + +**Décision métier (Tristan) :** un **samedi de congé déjà posé** sous la phase précédente ne réduit PAS le report (seuls les jours ouvrés posés le réduisent). Implémenté en ré-ajoutant `takenSaturdays` dans `resolveCarriedCpFromPriorPhase` (commit `52d1111`). C'est ce qui fait passer Grégory de 11.94 à 12.94 ≈ 13. **Files:** aucun (validation sur la BDD prod locale). @@ -420,6 +429,8 @@ Attendu : `remainingDays ≈ 13` (acquis ≈ 13 = 6 repos + 7 CP nets ; pris = 0 Croiser avec l'écran de la phase 39h : il doit toujours afficher 1 samedi + 5 pris + 6 restant (inchangé). +⚠️ Vérifier que Grégory n'a **pas de jours fractionnés** sur sa phase 39h (`fractionedDays` exclus volontairement de `resolveCarriedCpFromPriorPhase`). Si la cible 13 n'est pas atteinte ET qu'il a des fractionnés, c'est l'explication — décider alors avec Tristan s'il faut les inclure. + - [ ] **Step 2: Vérifier le cas 2 (nouvel embauché forfait)** Pour un employé FORFAIT sans phase précédente (ou dont la précédente est FORFAIT), `remainingDays` doit valoir uniquement les repos proratisés (ex. 6 si entrée 01/05/2026). Vérifier sur un employé réel ou un cas synthétique.