5.8 KiB
5.8 KiB
Plan d'Amélioration de la Couverture de Tests
Date: 2025-01-27
Objectif: Atteindre 80%+ de couverture de tests
📊 État Actuel
Tests Existants
- ✅ 73 fichiers
.test.ts(tests unitaires) - ✅ 170 fichiers
.test.tsx(tests composants) - ✅ 18 fichiers
.spec.ts(tests E2E Playwright) - ✅ Vitest configuré avec seuil de 80%
- ✅ Playwright configuré pour tests E2E
Composants UI avec Tests
- ✅
avatar.test.tsx - ✅
badge.test.tsx - ✅
button.test.tsx - ✅
card.test.tsx - ✅
dialog.test.tsx - ✅
dropdown.test.tsx - ✅
file-upload.test.tsx - ✅
loading-spinner.test.tsx - ✅
modal.test.tsx - ✅
select.test.tsx - ✅
skeleton.test.tsx - ✅
tooltip.test.tsx - ✅
date-picker.test.tsx
Composants UI SANS Tests (à créer)
- ❌
alert.tsx - ❌
avatar-upload.tsx - ❌
button-loading.tsx - ❌
checkbox.tsx - ❌
confirmation-dialog.tsx - ❌
DataList.tsx - ❌
dropdown-menu.tsx - ❌
empty-state.tsx - ❌
focus-trap.tsx - ❌
FormField.tsx - ❌
HelpText.tsx - ❌
ImageCropper.tsx - ❌
ImageViewerModal.tsx - ❌
input.tsx - ❌
label.tsx - ❌
LazyComponent.tsx - ❌
optimized-image.tsx - ❌
progress.tsx - ❌
radio-group.tsx - ❌
scroll-area.tsx - ❌
slider.tsx - ❌
switch.tsx - ❌
table.tsx - ❌
tabs.tsx - ❌
textarea.tsx - ❌
Toast.tsx - ❌
virtualized-list.tsx - ❌
WaveformVisualizer.tsx
Total: ~28 composants UI sans tests
🎯 Plan d'Action
Phase 1: Tests Composants UI Critiques (Priorité Haute)
Objectif: Couvrir les composants UI les plus utilisés
Semaine 1-2
input.tsx- Composant critique, utilisé partoutcheckbox.tsx- Composant critiquetextarea.tsx- Composant critiqueprogress.tsx- Composant critiquealert.tsx- Composant critique pour feedbacktabs.tsx- Composant critique pour navigationswitch.tsx- Composant critique pour settings
Semaine 3-4
table.tsx- Composant critique pour donnéesradio-group.tsx- Composant critiqueslider.tsx- Composant critiqueempty-state.tsx- Composant critique pour UXlabel.tsx- Composant critique pour formulairesscroll-area.tsx- Composant critique
Phase 2: Tests Composants UI Avancés (Priorité Moyenne)
Objectif: Couvrir les composants UI spécialisés
Semaine 5-6
ImageCropper.tsx- Composant spécialiséavatar-upload.tsx- Composant spécialiséconfirmation-dialog.tsx- Composant spécialisédropdown-menu.tsx- Composant spécialiséToast.tsx- Composant spécialiséImageViewerModal.tsx- Composant spécialisé
Semaine 7-8
WaveformVisualizer.tsx- Composant spécialisé audiovirtualized-list.tsx- Composant spécialisé performanceoptimized-image.tsx- Composant spécialisé performanceLazyComponent.tsx- Composant spécialisé performanceFormField.tsx- Composant spécialisé formulairesHelpText.tsx- Composant spécialisé formulairesDataList.tsx- Composant spécialisé donnéesfocus-trap.tsx- Composant spécialisé accessibilitébutton-loading.tsx- Composant spécialisé UX
Phase 3: Tests Services & Utilitaires (Priorité Haute)
Objectif: Couvrir la logique métier
Services à Tester (20 fichiers)
adminService.ts- Tests manquantsanalyticsService.ts- Tests manquantschatService.ts- Tests manquantscommerceService.ts- Tests manquantsdeveloperService.ts- Tests manquantseducationService.ts- Tests manquantsgamificationService.ts- Tests manquantsgearService.ts- Tests manquantsgroupService.ts- Tests manquantsmarketplaceService.ts- ✅ Déjà testéplaylistService.ts- Tests manquantsprojectService.ts- Tests manquantssearchService.ts- Tests manquantssessionService.ts- Tests manquantssocialService.ts- Tests manquantsstorageService.ts- Tests manquantsuploadService.ts- Tests manquantsuserService.ts- Tests manquants
Phase 4: Tests Context & Hooks (Priorité Moyenne)
Objectif: Couvrir la gestion d'état
Context à Tester (5 fichiers)
AudioContext.tsx- Tests manquantsAuthContext.tsx- Tests manquantsCartContext.tsx- Tests manquantsThemeContext.tsx- Tests manquantsToastContext.tsx- Tests manquants
Hooks à Tester (~21 fichiers)
- Vérifier quels hooks ont déjà des tests
- Créer tests pour hooks manquants
Phase 5: Tests Composants Views (Priorité Basse)
Objectif: Couvrir les vues principales
Views à Tester (~21 fichiers)
AdminView.tsxAnalyticsView.tsxAuthView.tsxChatView.tsxEducationView.tsxFileDetailsView.tsxFileManagerView.tsxGearView.tsxLiveView.tsxMarketplaceView.tsxNotificationsView.tsxProfileView.tsxPurchasesView.tsxSearchPageView.tsxSettingsView.tsxSocialView.tsxUploadView.tsx
📈 Métriques de Succès
Objectifs
- ✅ 80%+ couverture globale
- ✅ 90%+ couverture pour composants UI critiques
- ✅ 80%+ couverture pour services
- ✅ 70%+ couverture pour views
Outils
- Vitest avec
@vitest/coverage-v8 - Playwright pour tests E2E
- MSW pour mocks API
🚀 Prochaines Étapes Immédiates
- ✅ Installer
@vitest/coverage-v8 - ⏳ Générer rapport de couverture actuel
- ⏳ Identifier zones critiques avec faible couverture
- ⏳ Créer tests pour composants UI critiques en priorité
- ⏳ Créer tests pour services manquants
Dernière mise à jour: 2025-01-27