feat(inscription AM #120): UI étape pro, photo unifiée, scripts et données test

- Panneau AM : validation NIR alignée API, date d’agrément requise côté app,
  capacité 1–10, n° agrément + date sur une ligne, ville/pays formatés au blur.
- Widget RegistrationPhotoSlot (cadre, croix) partagé avec les cartes enfant.
- AuthService : MIME PNG/JPEG pour la photo ; payload date_agrement.
- Scripts register-am-dubois / mansouri ; chemins tests/ressources/photos ;
  doc test-data + seed ; smoke curl inscription AM.

Made-with: Cursor
This commit is contained in:
2026-04-13 13:19:32 +02:00
parent 12bf85b7bd
commit 58607cdbc9
18 changed files with 763 additions and 284 deletions
+25 -15
View File
@@ -16,6 +16,8 @@ Fichier CSV contenant les utilisateurs de test pour valider le workflow de créa
## 👥 Utilisateurs de test
**Source de vérité (identités, NIR, agréments, adresses)** : `database/seed/03_seed_test_data.sql`, complété par `utilisateurs-test.csv` et ce README. Les scripts Node `tests/scripts/register-am-*-test.mjs` reprennent les mêmes valeurs.
### 1. Administrateur
| Nom | Prénom | Email | Téléphone | Mobile |
@@ -49,7 +51,14 @@ Fichier CSV contenant les utilisateurs de test pour valider le workflow de créa
**Rôle** : `assistante_maternelle`
**Spécialité** : Bébés 0-18 mois
**Agrément** : 4 enfants
**Places disponibles** : 2
**Places disponibles** : 2
**Date de naissance** : 1980-06-08
**Lieu de naissance (inscription)** : Ajaccio (Corse, France) — NIR de test avec code département **2A**
**NIR (fictif, clé valide)** : `280062A00100191`
**N° d'agrément** : `AGR-2019-095001`
**Date d'agrément** : 2019-09-01
**Adresse** : 25 Rue de la République, 95870 Bezons
**Script d'inscription** : `tests/scripts/register-am-dubois-test.mjs`
#### Fatima EL MANSOURI
@@ -60,7 +69,14 @@ Fichier CSV contenant les utilisateurs de test pour valider le workflow de créa
**Rôle** : `assistante_maternelle`
**Spécialité** : 1-3 ans
**Agrément** : 3 enfants
**Places disponibles** : 1
**Places disponibles** : 1
**Date de naissance** : 1975-11-12
**Lieu de naissance (inscription)** : exemple Casablanca (Maroc) — NIR de test avec code **99** (naissance à l'étranger)
**NIR (fictif, clé valide)** : `275119900100102`
**N° d'agrément** : `AGR-2017-095002`
**Date d'agrément** : 2017-06-15
**Adresse** : 17 Boulevard Aristide Briand, 95870 Bezons
**Script d'inscription** : `tests/scripts/register-am-mansouri-test.mjs`
---
@@ -160,20 +176,14 @@ POST /api/v1/gestionnaires
}
```
#### Scénario 2 : Inscription assistante maternelle
#### Scénario 2 : Inscription assistante maternelle (complète)
```typescript
// Marie DUBOIS s'inscrit
POST /api/v1/auth/register
{
"email": "marie.dubois@ptits-pas.fr",
"password": "Test1234!",
"prenom": "Marie",
"nom": "DUBOIS",
"telephone": "01 39 98 67 89",
"mobile": "06 96 34 56 78",
"role": "assistante_maternelle"
}
Inscription en un flux : `POST /api/v1/auth/register/am` (identité, NIR, agrément, photo optionnelle, CGU). Voir le DTO backend `RegisterAMCompletDto`.
```bash
# Jeux alignés sur le seed (mêmes NIR / dates / agréments que 03_seed_test_data.sql) :
node tests/scripts/register-am-dubois-test.mjs [BASE_URL]
node tests/scripts/register-am-mansouri-test.mjs [BASE_URL]
```
#### Scénario 3 : Inscription parent
+6 -2
View File
@@ -177,10 +177,12 @@
</div>
<div class="info-section">
<div class="info-title">Profession</div>
<p><strong>Agrément :</strong> 4 enfants max</p>
<p><strong>Agrément :</strong> 4 enfants max (n° AGR-2019-095001, depuis le 01/09/2019)</p>
<p><strong>Expérience :</strong> 12 ans</p>
<p><strong>Spécialité :</strong> Bébés 0-18 mois</p>
<p><strong>Places disponibles :</strong> 2</p>
<p><strong>NIR (test, fictif) :</strong> 280062A00100191</p>
<p><strong>Lieu de naissance :</strong> Ajaccio (Corse)</p>
</div>
</div>
</div>
@@ -207,10 +209,12 @@
</div>
<div class="info-section">
<div class="info-title">Profession</div>
<p><strong>Agrément :</strong> 3 enfants max</p>
<p><strong>Agrément :</strong> 3 enfants max (n° AGR-2017-095002, depuis le 15/06/2017)</p>
<p><strong>Expérience :</strong> 15 ans</p>
<p><strong>Spécialité :</strong> Enfants 1-3 ans</p>
<p><strong>Places disponibles :</strong> 1</p>
<p><strong>NIR (test, fictif) :</strong> 275119900100102</p>
<p><strong>Lieu de naissance :</strong> à l'étranger (ex. Casablanca, Maroc — inscription)</p>
</div>
</div>
</div>