veza/apps/web/PLAN_TESTS_COMPLET.md

3.8 KiB

Plan Complet d'Amélioration des Tests

Date: 2025-01-27
Objectif: Atteindre 80%+ de couverture de tests


Accomplissements Phase 1

Tests Composants UI Créés (6 fichiers)

  1. input.test.tsx - 8 tests
  2. checkbox.test.tsx - 8 tests
  3. alert.test.tsx - 9 tests
  4. textarea.test.tsx - 6 tests
  5. progress.test.tsx - 9 tests
  6. tabs.test.tsx - 6 tests

Total: 46 nouveaux tests créés

Corrections Setup Appliquées

  1. Mock useToast corrigé (retourne { success, error })
  2. Mock WebSocket amélioré (addEventListener, removeEventListener)
  3. Helper withRouter créé dans test-utils.tsx
  4. Fichier src/test/mocks.ts créé avec helpers réutilisables

🎯 Plan d'Action Complet

Phase 1: Correction Tests Existants (EN COURS)

Objectif: Faire passer tous les tests existants

1.1. Corrections Setup Globales

  • Mock useToast corrigé
  • Mock WebSocket amélioré
  • Helpers de test créés

1.2. Corrections Tests Individuels (À CONTINUER)

  • PlaylistBatchActions.test.tsx - Mock useToast corrigé
  • TrackSearch.test.tsx - Router ajouté
  • Autres tests avec erreurs similaires (~160 fichiers restants)

Estimation: 3-5 jours


Phase 2: Tests Composants UI Restants (PRIORITÉ HAUTE)

Objectif: Couvrir les 22 composants UI restants

Composants à Tester (22 restants)

Semaine 1-2: Composants Formulaires

  • label.tsx
  • radio-group.tsx
  • switch.tsx

Semaine 3-4: Composants Navigation

  • table.tsx
  • scroll-area.tsx
  • slider.tsx

Semaine 5-6: Composants Spécialisés

  • empty-state.tsx
  • Toast.tsx
  • dropdown-menu.tsx
  • confirmation-dialog.tsx
  • avatar-upload.tsx
  • button-loading.tsx
  • DataList.tsx
  • focus-trap.tsx
  • FormField.tsx
  • HelpText.tsx
  • ImageCropper.tsx
  • ImageViewerModal.tsx
  • LazyComponent.tsx
  • optimized-image.tsx
  • virtualized-list.tsx
  • WaveformVisualizer.tsx

Estimation: 6-8 semaines


Phase 3: Tests Services (PRIORITÉ HAUTE)

Objectif: Couvrir les 17 services sans tests

Services à Tester (17 services)

  • adminService.ts
  • analyticsService.ts
  • chatService.ts
  • commerceService.ts
  • developerService.ts
  • educationService.ts
  • gamificationService.ts
  • gearService.ts
  • groupService.ts
  • playlistService.ts (mock service)
  • projectService.ts
  • searchService.ts
  • sessionService.ts
  • socialService.ts
  • storageService.ts
  • uploadService.ts
  • userService.ts

Estimation: 4-5 semaines


Phase 4: Tests Context & Hooks (PRIORITÉ MOYENNE)

Objectif: Couvrir la gestion d'état

Context à Tester (5 fichiers)

  • AudioContext.tsx
  • AuthContext.tsx
  • CartContext.tsx
  • ThemeContext.tsx
  • ToastContext.tsx

Hooks à Tester (~21 fichiers)

  • Vérifier quels hooks ont déjà des tests
  • Créer tests pour hooks manquants

Estimation: 2-3 semaines


📊 Métriques de Succès

Objectifs

  • Phase 1 complétée - 6 composants UI critiques testés
  • Correction tests existants - En cours
  • Phase 2 - 22 composants UI restants
  • Phase 3 - 17 services
  • Phase 4 - 5 Context + ~21 hooks
  • 80%+ couverture globale - Objectif final

🚀 Prochaines Étapes Immédiates

  1. Continuer correction tests existants (160 fichiers restants)
  2. Créer tests pour composants UI restants (Phase 2)
  3. Créer tests pour services (Phase 3)
  4. Créer tests pour Context & Hooks (Phase 4)
  5. Générer rapport de couverture final

Dernière mise à jour: 2025-01-27