Refactoring - Version stable

This commit is contained in:
dahoud
2026-03-28 14:21:30 +00:00
parent 00b981c510
commit a740c172ef
4402 changed files with 88517 additions and 1555 deletions

View File

@@ -142,4 +142,79 @@ class CotisationTest {
c.setAnnee(2025);
assertThat(c.toString()).isNotNull().isNotEmpty();
}
@Test
@DisplayName("getMontantRestant: ZERO si montantDu null")
void getMontantRestant_montantDuNull_returnsZero() {
Cotisation c = new Cotisation();
c.setMontantPaye(new BigDecimal("50.00"));
// montantDu = null
assertThat(c.getMontantRestant()).isEqualByComparingTo(BigDecimal.ZERO);
}
@Test
@DisplayName("isEnRetard: false si dateEcheance null")
void isEnRetard_echeanceNull_returnsFalse() {
Cotisation c = new Cotisation();
c.setMontantDu(new BigDecimal("100.00"));
c.setMontantPaye(BigDecimal.ZERO);
// dateEcheance = null
assertThat(c.isEnRetard()).isFalse();
}
@Test
@DisplayName("onCreate: numeroReference déjà défini → conservé (branche false)")
void onCreate_numeroReferenceDejaDefini_conserve() {
// numeroReference déjà défini → non écrasé par onCreate
Cotisation c = new Cotisation();
c.setNumeroReference("COT-EXISTANT-001");
c.setCodeDevise("XOF");
c.setStatut("EN_ATTENTE");
c.setMontantPaye(BigDecimal.ZERO);
c.setNombreRappels(0);
c.setRecurrente(false);
c.onCreate();
// numeroReference doit rester inchangé
assertThat(c.getNumeroReference()).isEqualTo("COT-EXISTANT-001");
}
@Test
@DisplayName("onCreate: numeroReference vide (empty string) → généré (branche isEmpty)")
void onCreate_emptyNumeroReference_generated() throws Exception {
Cotisation c = new Cotisation();
c.setNumeroReference(""); // non null mais vide → isEmpty() est true → doit générer
c.setCodeDevise("XOF");
c.setStatut("EN_ATTENTE");
c.setMontantPaye(BigDecimal.ZERO);
c.setNombreRappels(0);
c.setRecurrente(false);
java.lang.reflect.Method onCreate = Cotisation.class.getDeclaredMethod("onCreate");
onCreate.setAccessible(true);
onCreate.invoke(c);
assertThat(c.getNumeroReference()).isNotEmpty().startsWith("COT-");
}
@Test
@DisplayName("onCreate: initialise les défauts si null")
void onCreate_setsDefaults() {
Cotisation c = new Cotisation();
// Force null pour couvrir toutes les branches de initialisation
c.setNumeroReference(null);
c.setCodeDevise(null);
c.setStatut(null);
c.setMontantPaye(null);
c.setNombreRappels(null);
c.setRecurrente(null);
c.onCreate();
assertThat(c.getNumeroReference()).isNotNull().startsWith("COT-");
assertThat(c.getCodeDevise()).isEqualTo("XOF");
assertThat(c.getStatut()).isEqualTo("EN_ATTENTE");
assertThat(c.getMontantPaye()).isEqualByComparingTo(BigDecimal.ZERO);
assertThat(c.getNombreRappels()).isEqualTo(0);
assertThat(c.getRecurrente()).isFalse();
}
}