Files
unionflow-server-api/CLASSES_SANS_TESTS.md
dahoud fb14bac741 test(communication): atteindre 100% de couverture API
Ajout de tests unitaires complets pour le module communication :
- 4 tests enum (ConversationType, MessageType, MessageStatus, MessagePriority)
- 4 tests DTO (ConversationResponse, MessageResponse, CreateConversationRequest, SendMessageRequest)

Résultat : 100% couverture sur unionflow-server-api
- Instructions : 17 436 / 17 436 (100%)
- Branches : 1 725 / 1 725 (100%)
- Lignes : 2 924 / 2 924 (100%)
- Méthodes : 1 017 / 1 017 (100%)
- Classes : 186 / 186 (100%)

2911 tests passent avec succès.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-18 01:50:27 +00:00

277 lines
11 KiB
Markdown

# Classes sans Tests - UnionFlow Server API
**Date d'analyse**: 2026-03-15
**Couverture globale**: 72% (4635 instructions manquées sur 16697)
**Classes sans tests**: 91 classes (0% de couverture)
---
## 1. DTOs REQUEST (dev.lions.unionflow.server.api.dto)
### 1.1 Solidarité (8 classes - 0%)
- `dev.lions.unionflow.server.api.dto.solidarite.request.CreateCommentaireAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.CreateDemandeAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.CreateEvaluationAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.CreatePropositionAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.UpdateCommentaireAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.UpdateDemandeAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.UpdateEvaluationAideRequest`
- `dev.lions.unionflow.server.api.dto.solidarite.request.UpdatePropositionAideRequest`
### 1.2 Comptabilité (8 classes - 0%)
- `dev.lions.unionflow.server.api.dto.comptabilite.request.CreateCompteComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.CreateEcritureComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.CreateJournalComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.CreateLigneEcritureRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.UpdateCompteComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.UpdateEcritureComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.UpdateJournalComptableRequest`
- `dev.lions.unionflow.server.api.dto.comptabilite.request.UpdateLigneEcritureRequest`
### 1.3 Paiement (4 classes - 0%)
- `dev.lions.unionflow.server.api.dto.paiement.request.CreatePaiementRequest`
- `dev.lions.unionflow.server.api.dto.paiement.request.DeclarerPaiementManuelRequest`
- `dev.lions.unionflow.server.api.dto.paiement.request.InitierDepotEpargneRequest`
- `dev.lions.unionflow.server.api.dto.paiement.request.InitierPaiementEnLigneRequest`
### 1.4 Notification (4 classes - 0%)
- `dev.lions.unionflow.server.api.dto.notification.request.CreateNotificationRequest`
- `dev.lions.unionflow.server.api.dto.notification.request.CreateTemplateNotificationRequest`
- `dev.lions.unionflow.server.api.dto.notification.request.UpdateNotificationRequest`
- `dev.lions.unionflow.server.api.dto.notification.request.UpdateTemplateNotificationRequest`
### 1.5 Document (4 classes - 0%)
- `dev.lions.unionflow.server.api.dto.document.request.CreateDocumentRequest`
- `dev.lions.unionflow.server.api.dto.document.request.CreatePieceJointeRequest`
- `dev.lions.unionflow.server.api.dto.document.request.UpdateDocumentRequest`
- `dev.lions.unionflow.server.api.dto.document.request.UpdatePieceJointeRequest`
### 1.6 Abonnement (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.abonnement.request.CreateAbonnementRequest`
- `dev.lions.unionflow.server.api.dto.abonnement.request.UpdateAbonnementRequest`
### 1.7 Événement (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.evenement.request.CreateEvenementRequest`
- `dev.lions.unionflow.server.api.dto.evenement.request.UpdateEvenementRequest`
### 1.8 Formule Abonnement (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.formuleabonnement.request.CreateFormuleAbonnementRequest`
- `dev.lions.unionflow.server.api.dto.formuleabonnement.request.UpdateFormuleAbonnementRequest`
### 1.9 Organisation (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.organisation.request.CreateOrganisationRequest`
- `dev.lions.unionflow.server.api.dto.organisation.request.UpdateOrganisationRequest`
### 1.10 Adresse (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.adresse.request.CreateAdresseRequest`
- `dev.lions.unionflow.server.api.dto.adresse.request.UpdateAdresseRequest`
### 1.11 Membre (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.membre.request.CreateMembreRequest`
- `dev.lions.unionflow.server.api.dto.membre.request.UpdateMembreRequest`
### 1.12 Cotisation (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.cotisation.request.CreateCotisationRequest`
- `dev.lions.unionflow.server.api.dto.cotisation.request.UpdateCotisationRequest`
### 1.13 Référence (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.reference.request.CreateTypeReferenceRequest`
- `dev.lions.unionflow.server.api.dto.reference.request.UpdateTypeReferenceRequest`
### 1.14 Suggestion (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.suggestion.request.CreateSuggestionRequest`
- `dev.lions.unionflow.server.api.dto.suggestion.request.UpdateSuggestionRequest`
### 1.15 Finance (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.finance.request.CreateAdhesionRequest`
- `dev.lions.unionflow.server.api.dto.finance.request.UpdateAdhesionRequest`
### 1.16 User (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.user.request.CreateUserRequest`
- `dev.lions.unionflow.server.api.dto.user.request.UpdateUserRequest`
### 1.17 Configuration (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.config.request.CreateConfigurationRequest`
- `dev.lions.unionflow.server.api.dto.config.request.UpdateConfigurationRequest`
### 1.18 Ticket (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.ticket.request.CreateTicketRequest`
- `dev.lions.unionflow.server.api.dto.ticket.request.UpdateTicketRequest`
### 1.19 Rôle (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.role.request.CreateRoleRequest`
- `dev.lions.unionflow.server.api.dto.role.request.UpdateRoleRequest`
### 1.20 Admin (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.admin.request.CreateAdminRequest`
### 1.21 Favoris (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.favoris.request.CreateFavoriRequest`
---
## 2. DTOs RESPONSE (dev.lions.unionflow.server.api.dto)
### 2.1 Paiement (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.paiement.response.PaiementGatewayResponse`
### 2.2 Cotisation (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.cotisation.response.CotisationSummaryResponse`
### 2.3 Adresse (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.adresse.response.AdresseResponse`
### 2.4 Admin (1 classe - 0%)
- `dev.lions.unionflow.server.api.dto.admin.response.AdminResponse`
---
## 3. AUTRES DTOs
### 3.1 Wave (2 classes - 0%)
- `dev.lions.unionflow.server.api.dto.wave.CompteWaveDTO`
- `dev.lions.unionflow.server.api.dto.wave.TransactionWaveDTO`
---
## 4. ENUMS (dev.lions.unionflow.server.api.enums)
### 4.1 Mutuelle - Crédit (4 classes - 0%)
- `dev.lions.unionflow.server.api.enums.mutuelle.credit.StatutDemandeCredit`
- `dev.lions.unionflow.server.api.enums.mutuelle.credit.StatutEcheanceCredit`
- `dev.lions.unionflow.server.api.enums.mutuelle.credit.TypeCredit`
- `dev.lions.unionflow.server.api.enums.mutuelle.credit.TypeGarantie`
### 4.2 Mutuelle - Épargne (3 classes - 0%)
- `dev.lions.unionflow.server.api.enums.mutuelle.epargne.StatutCompteEpargne`
- `dev.lions.unionflow.server.api.enums.mutuelle.epargne.TypeCompteEpargne`
- `dev.lions.unionflow.server.api.enums.mutuelle.epargne.TypeTransactionEpargne`
### 4.3 Vote (3 classes - 0%)
- `dev.lions.unionflow.server.api.enums.vote.ModeScrutin`
- `dev.lions.unionflow.server.api.enums.vote.StatutVote`
- `dev.lions.unionflow.server.api.enums.vote.TypeVote`
### 4.4 Tontine (3 classes - 0%)
- `dev.lions.unionflow.server.api.enums.tontine.FrequenceTour`
- `dev.lions.unionflow.server.api.enums.tontine.StatutTontine`
- `dev.lions.unionflow.server.api.enums.tontine.TypeTontine`
### 4.5 Ayant Droit (2 classes - 0%)
- `dev.lions.unionflow.server.api.enums.ayantdroit.StatutAyantDroit`
- `dev.lions.unionflow.server.api.enums.ayantdroit.TypeAyantDroit`
### 4.6 Agricole (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.agricole.StatutCampagneAgricole`
### 4.7 Collecte de Fonds (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.collectefonds.StatutCampagneCollecte`
### 4.8 Culte (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.culte.TypeDonReligieux`
### 4.9 ONG (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.ong.StatutProjetOng`
### 4.10 Gouvernance (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.gouvernance.NiveauEchelon`
### 4.11 Registre (1 classe - 0%)
- `dev.lions.unionflow.server.api.enums.registre.StatutAgrement`
---
## RÉCAPITULATIF PAR CATÉGORIE
| Catégorie | Nombre de classes | % du total |
|-----------|-------------------|------------|
| **DTO Requests** | **62 classes** | **68%** |
| **Enums** | **21 classes** | **23%** |
| **DTO Responses** | **4 classes** | **4%** |
| **Autres DTOs** | **2 classes** | **2%** |
| **Autres** | **2 classes** | **2%** |
| **TOTAL** | **91 classes** | **100%** |
---
## PRIORITÉS DE TEST
### P0 - Haute Priorité (Core Business)
1. **Solidarité** (8 requests) - Module métier principal
2. **Comptabilité** (8 requests) - Gestion financière critique
3. **Paiement** (4 requests + 1 response) - Transactions financières
4. **Mutuelle Crédit** (4 enums) - Microfinance core
5. **Mutuelle Épargne** (3 enums) - Microfinance core
### P1 - Priorité Moyenne (Features importantes)
6. **Notification** (4 requests) - Communication système
7. **Document** (4 requests) - Gestion documentaire
8. **Événement** (2 requests) - Gestion événementielle
9. **Organisation** (2 requests) - Structure organisationnelle
10. **Membre** (2 requests) - Gestion des utilisateurs
### P2 - Priorité Basse (Features secondaires)
11. **Abonnement** (2 requests) - Gestion des abonnements
12. **Tontine** (3 enums) - Feature spécifique
13. **Vote** (3 enums) - Feature spécifique
14. **Autres requests** (20 requests restants)
15. **Enums divers** (11 enums restants)
---
## PLAN D'ACTION
### Étape 1: Tests DTOs Request (62 classes)
- Tester getters/setters
- Tester validations Jakarta Bean Validation
- Tester méthodes equals/hashCode/toString si présentes
### Étape 2: Tests DTOs Response (4 classes)
- Tester constructeurs et builders
- Tester sérialisation JSON
### Étape 3: Tests Enums (21 classes)
- Tester valueOf() et values()
- Tester getters de valeurs
- Tester méthodes utilitaires (fromString, etc.)
### Étape 4: Tests Autres (4 classes)
- Tests spécifiques selon le type de classe
---
## TEMPLATES DE TEST RECOMMANDÉS
### Pour DTOs Request:
```java
@Test
void testCreateXxxRequest_AllFields() {
var request = new CreateXxxRequest();
// Set all fields
// Assert all fields
}
@Test
void testCreateXxxRequest_Validation() {
var request = new CreateXxxRequest();
// Test @NotNull, @Size, etc.
}
```
### Pour Enums:
```java
@Test
void testEnumValues() {
assertEquals(3, TypeXxx.values().length);
}
@Test
void testEnumValueOf() {
assertEquals(TypeXxx.VALUE1, TypeXxx.valueOf("VALUE1"));
}
```
---
**Objectif**: Atteindre **100% de couverture** sur le module unionflow-server-api.