Rapport de Tests - Routes Backend
Date : 2026-05-31
Statut : Tests statiques effectués (tests fonctionnels bloqués - voir ci-dessous)
Routes Découvertes
Route Auth (publiques)
| Méthode |
Endpoint |
Handler |
Description |
| POST |
/api/v1/auth/login |
login |
Connexion utilisateur |
| POST |
/api/v1/auth/register |
register |
Inscription nouvel utilisateur |
Route Comptes (protégées)
| Méthode |
Endpoint |
Handler |
Description |
| GET |
/api/v1/comptes |
lister |
Lister les comptes |
| POST |
/api/v1/comptes |
creer |
Créer un compte |
| GET |
/api/v1/comptes/:id |
obtenir |
Obtenir un compte |
| PUT |
/api/v1/comptes/:id |
modifier |
Modifier un compte |
Route Recettes (protégées)
| Méthode |
Endpoint |
Handler |
Description |
| GET |
/api/v1/recettes |
lister |
Lister les recettes |
| POST |
/api/v1/recettes |
creer |
Créer une recette |
| GET |
/api/v1/recettes/:id |
obtenir |
Obtenir une recette |
| PUT |
/api/v1/recettes/:id |
modifier |
Modifier une recette |
| DELETE |
/api/v1/recettes/:id |
supprimer |
Supprimer une recette |
Route Depenses (protégées)
| Méthode |
Endpoint |
Handler |
Description |
| GET |
/api/v1/depenses |
lister |
Lister les dépenses |
| POST |
/api/v1/depenses |
creer |
Créer une dépense |
Route Transferts (protégées)
| Méthode |
Endpoint |
Handler |
Description |
| GET |
/api/v1/transferts |
lister |
Lister les transferts |
| POST |
/api/v1/transferts |
creer |
Créer un transfert |
Corrections Apportées pendant le Refactoring
1. Entités - Remplacement Error par ErreurMetier
Recette.ts : throw new Error → throw new ErreurRecette
Depense.ts : Validation d'invariants ajoutée avec ErreurDepense
2. Controllers - Pattern IHttpContext
- Controllers refactorisés pour accepter
IHttpContext directement (créé par GestionnaireModulaire)
- Pattern arrow functions préservant
this
3. Types Record → Record
AuthModuleController.ts : Interface Record corrigée
CompteModuleController.ts : Interface Record corrigée
4. Interfaces UseCase - Codes d'erreur complets
IModifierRecetteUseCase.ts : Ajout MONTANT_INVALIDE dans les codes
IObtenirRecetteUseCase.ts : Ajout DONNEES_INVALIDES dans les codes
Blocage Tests Fonctionnels
Problème : Base de données PostgreSQL non disponible
PrismaClientInitializationError: Environment variable not found: DATABASE_URL
Solution requise
- Démarrer PostgreSQL :
docker run -p 5432:5432 postgres
- Exécuter migration :
npx prisma migrate dev
- Lancer serveur :
npm run dev
Checklist de Tests à Effectuer (après résolution DB)
Auth
- [ ] POST /api/v1/auth/login avec credentials valides
- [ ] POST /api/v1/auth/login avec mauvais password
- [ ] POST /api/v1/auth/register email déjà utilisé
- [ ] POST /api/v1/auth/register email invalide
Comptes
- [ ] GET /api/v1/comptes sans authentification (401)
- [ ] POST /api/v1/comptes avec solde négatif (400)
- [ ] POST /api/v1/comptes nom vide (400)
- [ ] GET /api/v1/comptes/:id inexistant (404)
Recettes
- [ ] POST /api/v1/recettes avec montant négatif (400)
- [ ] POST /api/v1/recettes description vide (400)
- [ ] GET /api/v1/recettes avec filtres date/type
- [ ] GET /api/v1/recettes/:id autre utilisateur (403)
Dépenses
- [ ] POST /api/v1/depenses rubrique inexistante (400)
- [ ] POST /api/v1/depenses montant négatif (400)
Transferts
- [ ] POST /api/v1/transferts compte origine = destination (400)
- [ ] POST /api/v1/transferts solde insuffisant (400)