3.8 KiB
Plan de Correction des Tests Existants
Date: 2025-01-27
Objectif: Corriger les 163 fichiers de tests qui échouent
🔍 Analyse des Erreurs Communes
Erreur 1: showError is not a function
Fichiers affectés:
PlaylistBatchActions.test.tsx- Autres fichiers utilisant
showError
Cause: showError n'est pas mocké ou importé correctement dans les tests
Solution:
- Ajouter mock pour
showErrordans setup de tests - Ou utiliser
useToasthook correctement dans les tests
Erreur 2: Cannot destructure property 'basename' of React__namespace.useContext(...) as it is null
Fichiers affectés:
TrackSearch.test.tsx- Autres fichiers utilisant
LinkouuseNavigatesans Router
Cause: Composants utilisent React Router mais tests ne wrappent pas avec Router
Solution:
- Utiliser
customRenderdetest-utils.tsxqui inclut BrowserRouter - Ou wrapper manuellement avec
BrowserRouterdans chaque test
Erreur 3: Autres erreurs communes
- Context manquants (ToastContext, AuthContext, etc.)
- Mocks API manquants
- Variables d'environnement non définies
🎯 Plan d'Action
Phase 1: Correction Setup Global (PRIORITÉ CRITIQUE)
Objectif: Corriger les problèmes de setup qui affectent plusieurs tests
1.1. Améliorer src/test/setup.ts
- Ajouter mock global pour
showError - Ajouter mock pour
useToast - Vérifier que BrowserRouter est inclus dans
test-utils.tsx
1.2. Améliorer src/test/test-utils.tsx
- Vérifier que Router est bien inclus
- Ajouter tous les Context nécessaires (Toast, Auth, etc.)
- Créer helper pour wrapper avec Contexts spécifiques
Estimation: 1 jour
Phase 2: Correction Tests Individuels (PRIORITÉ HAUTE)
Objectif: Corriger les tests un par un selon les erreurs identifiées
2.1. Tests avec showError (10-15 fichiers)
PlaylistBatchActions.test.tsx- Autres fichiers avec erreur
showError
Solution: Remplacer showError par useToast ou ajouter mock
2.2. Tests avec React Router (20-30 fichiers)
TrackSearch.test.tsx- Autres fichiers avec erreur
basename
Solution: Utiliser customRender de test-utils.tsx ou wrapper avec Router
2.3. Tests avec Context manquants (30-40 fichiers)
- Tests nécessitant AuthContext
- Tests nécessitant ToastContext
- Tests nécessitant autres Contexts
Solution: Ajouter Contexts dans wrapper de test
2.4. Tests avec Mocks API manquants (50-60 fichiers)
- Tests nécessitant mocks MSW
- Tests nécessitant mocks spécifiques
Solution: Ajouter handlers MSW appropriés
Estimation: 3-5 jours
Phase 3: Vérification et Optimisation (PRIORITÉ MOYENNE)
Objectif: S'assurer que tous les tests passent et optimiser
3.1. Exécuter tous les tests
npm test -- --run- Identifier tests restants qui échouent
- Corriger tests restants
3.2. Optimiser setup
- Réduire duplication dans setup
- Créer helpers réutilisables
- Documenter patterns de test
Estimation: 1-2 jours
📊 Statistiques
Avant Correction
- ❌ 163 fichiers de tests échouent
- ❌ 683 tests échouent
- ✅ 98 fichiers de tests passent
- ✅ 2305 tests passent
Objectif
- ✅ 0 fichiers de tests échouent
- ✅ 0 tests échouent
- ✅ 261+ fichiers de tests passent
- ✅ 2988+ tests passent
🚀 Prochaines Étapes Immédiates
- ⏳ Analyser erreurs communes en détail
- ⏳ Corriger setup global (
setup.ts,test-utils.tsx) - ⏳ Corriger tests avec
showError(10-15 fichiers) - ⏳ Corriger tests avec React Router (20-30 fichiers)
- ⏳ Corriger tests avec Context manquants (30-40 fichiers)
- ⏳ Vérifier que tous les tests passent
Dernière mise à jour: 2025-01-27