First-attempt commit3a5c6e184only captured the .gitignore change; the pre-commit hook silently dropped the 343 staged moves/deletes during lint-staged's "no matching task" path. This commit re-applies the intended J1 content on top ofbec75f143(which was pushed in parallel). Uses --no-verify because: - J1 only touches .md/.json/.log/.png/binaries — zero code that would benefit from lint-staged, typecheck, or vitest - The hook demonstrated it corrupts pure-rename commits in this repo - Explicitly authorized by user for this one commit Changes (343 total: 169 deletions + 174 renames): Binaries purged (~167 MB): - veza-backend-api/{server,modern-server,encrypt_oauth_tokens,seed,seed-v2} Generated reports purged: - 9 apps/web/lint_report*.json (~32 MB) - 8 apps/web/tsc_*.{log,txt} + ts_*.log (TS error snapshots) - 3 apps/web/storybook_*.json (1375+ stored errors) - apps/web/{build_errors*,build_output,final_errors}.txt - 70 veza-backend-api/coverage*.out + coverage_groups/ (~4 MB) - 3 veza-backend-api/internal/handlers/*.bak Root cleanup: - 54 audit-*.png (visual regression baselines, ~11 MB) - 9 stale MVP-era scripts (Jan 27, hardcoded v0.101): start_{iteration,mvp,recovery}.sh, test_{mvp_endpoints,protected_endpoints,user_journey}.sh, validate_v0101.sh, verify_logs_setup.sh, gen_hash.py Session docs archived (not deleted — preserved under docs/archive/): - 78 apps/web/*.md → docs/archive/frontend-sessions-2026/ - 43 veza-backend-api/*.md → docs/archive/backend-sessions-2026/ - 53 docs/{RETROSPECTIVE_V,SMOKE_TEST_V,PLAN_V0_,V0_*_RELEASE_SCOPE, AUDIT_,PLAN_ACTION_AUDIT,REMEDIATION_PROGRESS}*.md → docs/archive/v0-history/ README.md and CONTRIBUTING.md preserved in apps/web/ and veza-backend-api/. Note: The .gitignore rules preventing recurrence were already pushed in3a5c6e184and remain in place — this commit does not modify .gitignore. Refs: AUDIT_REPORT.md §11
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