Refactoring - Version stable
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user