docs(leave) : record forfait entry validation results and saturday rule

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 16:25:18 +02:00
parent 52d11119a1
commit ac40cb9813

View File

@@ -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.