Julien Martin 58607cdbc9 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
2026-04-13 13:19:32 +02:00

290 lines
7.9 KiB
Markdown

# 📊 Données de Test
Ce dossier contient les jeux de données de test pour l'application P'titsPas.
## 📁 Fichiers
### `utilisateurs-test.csv`
Fichier CSV contenant les utilisateurs de test pour valider le workflow de création de compte.
**Format** : CSV avec en-tête
**Encodage** : UTF-8
**Séparateur** : Virgule (`,`)
---
## 👥 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 |
|-----|--------|-------|-----------|--------|
| BERNARD | Sophie | sophie.bernard@ptits-pas.fr | 01 39 98 45 67 | 06 78 12 34 56 |
**Rôle** : `administrateur`
**Notes** : Responsable direction générale - Ancienneté 8 ans
---
### 2. Gestionnaire
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| MOREAU | Lucas | lucas.moreau@ptits-pas.fr | 01 39 98 56 78 | 06 87 23 45 67 |
**Rôle** : `gestionnaire`
**Notes** : Service gestion administrative - Ancienneté 3 ans
---
### 3. Assistantes Maternelles (2)
#### Marie DUBOIS
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| DUBOIS | Marie | marie.dubois@ptits-pas.fr | 01 39 98 67 89 | 06 96 34 56 78 |
**Rôle** : `assistante_maternelle`
**Spécialité** : Bébés 0-18 mois
**Agrément** : 4 enfants
**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
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| EL MANSOURI | Fatima | fatima.elmansouri@ptits-pas.fr | 01 39 98 78 90 | 06 75 45 67 89 |
**Rôle** : `assistante_maternelle`
**Spécialité** : 1-3 ans
**Agrément** : 3 enfants
**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`
---
### 4. Parents (5)
#### Couple MARTIN (avec triplés)
**Claire MARTIN**
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| MARTIN | Claire | claire.martin@ptits-pas.fr | 01 39 98 89 01 | 06 89 56 78 90 |
**Profession** : Infirmière
**Situation** : Mariée - triplés
**Thomas MARTIN**
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| MARTIN | Thomas | thomas.martin@ptits-pas.fr | 01 39 98 89 01 | 06 78 45 67 89 |
**Profession** : Ingénieur
**Situation** : Marié - triplés
**Enfants** :
- Emma MARTIN (née le 15/02/2023, 8 mois)
- Noah MARTIN (né le 15/02/2023, 8 mois)
- Léa MARTIN (née le 15/02/2023, 8 mois)
**Notes** : Couple avec triplés - Besoin garde multiple
---
#### Couple divorcé DURAND/ROUSSEAU
**Amélie DURAND**
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| DURAND | Amélie | amelie.durand@ptits-pas.fr | 01 39 98 90 12 | 06 67 78 89 90 |
**Profession** : Comptable
**Situation** : Divorcée
**Julien ROUSSEAU**
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| ROUSSEAU | Julien | julien.rousseau@ptits-pas.fr | 01 39 98 01 23 | 06 56 67 78 89 |
**Profession** : Commercial
**Situation** : Divorcé
**Enfants** (en commun) :
- Chloé ROUSSEAU (née le 20/04/2022, 2 ans)
- Hugo ROUSSEAU (né le 10/03/2024, 6 mois)
**Notes** :
- Amélie : Garde principale des enfants
- Julien : Garde alternée 1 weekend/2
---
#### Père célibataire
**David LECOMTE**
| Nom | Prénom | Email | Téléphone | Mobile |
|-----|--------|-------|-----------|--------|
| LECOMTE | David | david.lecomte@ptits-pas.fr | 01 39 98 12 34 | 06 45 56 67 78 |
**Profession** : Développeur web
**Situation** : Père célibataire
**Enfants** :
- Maxime LECOMTE (né le 15/04/2023, 1 an 5 mois)
**Notes** : Garde complète - Contact urgence : grand-mère paternelle
---
## 🧪 Utilisation pour les tests
### Scénarios de test
#### Scénario 1 : Création de gestionnaire
```typescript
// Créer Lucas MOREAU en tant que gestionnaire
POST /api/v1/gestionnaires
{
"email": "lucas.moreau@ptits-pas.fr",
"password": "Test1234!",
"prenom": "Lucas",
"nom": "MOREAU"
}
```
#### Scénario 2 : Inscription assistante maternelle (complète)
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
```typescript
// Claire MARTIN s'inscrit
POST /api/v1/auth/register
{
"email": "claire.martin@ptits-pas.fr",
"password": "Test1234!",
"prenom": "Claire",
"nom": "MARTIN",
"telephone": "01 39 98 89 01",
"mobile": "06 89 56 78 90",
"role": "parent"
}
```
#### Scénario 4 : Validation par gestionnaire
```typescript
// Lucas MOREAU valide Marie DUBOIS
PATCH /api/v1/users/{marie_id}/valider
Authorization: Bearer {lucas_token}
{
"comment": "Agrément vérifié - Profil complet"
}
```
#### Scénario 5 : Cas complexe - Triplés
Test du workflow complet avec le couple MARTIN ayant des triplés :
1. Claire et Thomas s'inscrivent séparément
2. Chacun déclare les 3 enfants
3. Validation par le gestionnaire
4. Recherche d'assistante maternelle avec capacité pour 3 enfants
#### Scénario 6 : Cas complexe - Garde alternée
Test du workflow avec le couple divorcé DURAND/ROUSSEAU :
1. Amélie et Julien s'inscrivent séparément
2. Chacun déclare les 2 enfants en commun
3. Gestion de la garde alternée
4. Coordination entre les 2 parents
---
## 📧 Emails de test
Tous les emails de test utilisent le domaine `@ptits-pas.fr`.
**Pour les tests en local**, vous pouvez utiliser :
- [Mailtrap](https://mailtrap.io/) pour capturer les emails
- [MailHog](https://github.com/mailhog/MailHog) pour un serveur SMTP local
- [Thunderbird](https://www.thunderbird.net/) pour consulter les emails
**Configuration Thunderbird** :
- Serveur IMAP : `mail.ptits-pas.fr`
- Port : 993 (SSL/TLS)
- Serveur SMTP : `mail.ptits-pas.fr`
- Port : 587 (STARTTLS)
---
## 🔐 Mots de passe de test
**Par défaut pour tous les utilisateurs de test** : `password`
**Note** : Ce mot de passe simple est utilisé uniquement pour les tests. En production, les règles suivantes s'appliquent :
- Minimum 8 caractères
- Au moins 1 majuscule
- Au moins 1 chiffre
- Au moins 1 caractère spécial (recommandé)
---
## 🗄️ Script d'import
Un script d'import sera créé pour charger automatiquement ces données de test en base.
**Fichier** : `backend/src/scripts/seed-test-data.ts`
**Utilisation** :
```bash
cd backend
npm run seed:test
```
---
## ⚠️ Avertissement
**Ces données sont uniquement pour les tests !**
- Ne jamais utiliser en production
- Les emails sont fictifs mais utilisent le domaine réel `@ptits-pas.fr`
- Les numéros de téléphone sont fictifs
- Les adresses sont à Bezons (95870) mais peuvent être fictives
---
**Dernière mise à jour** : 24 Novembre 2025