Files
unionflow-server-impl-quarkus/src/test/java/dev/lions/unionflow/server/entity/PaiementTest.java
dahoud 75a19988b0 Sync: code local unifié
Synchronisation du code source local (fait foi).

Signed-off-by: lions dev Team
2026-03-15 16:25:40 +00:00

102 lines
3.0 KiB
Java

package dev.lions.unionflow.server.entity;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
@DisplayName("Paiement")
class PaiementTest {
private static Membre newMembre() {
Membre m = new Membre();
m.setId(UUID.randomUUID());
m.setNumeroMembre("M1");
m.setPrenom("A");
m.setNom("B");
m.setEmail("a@test.com");
m.setDateNaissance(java.time.LocalDate.now());
return m;
}
@Test
@DisplayName("getters/setters")
void gettersSetters() {
Paiement p = new Paiement();
p.setNumeroReference("PAY-2025-001");
p.setMontant(new BigDecimal("10000.00"));
p.setCodeDevise("XOF");
p.setMethodePaiement("WAVE");
p.setStatutPaiement("VALIDE");
p.setDatePaiement(LocalDateTime.now());
p.setMembre(newMembre());
assertThat(p.getNumeroReference()).isEqualTo("PAY-2025-001");
assertThat(p.getMontant()).isEqualByComparingTo("10000.00");
assertThat(p.getCodeDevise()).isEqualTo("XOF");
assertThat(p.getStatutPaiement()).isEqualTo("VALIDE");
}
@Test
@DisplayName("genererNumeroReference")
void genererNumeroReference() {
String ref = Paiement.genererNumeroReference();
assertThat(ref).startsWith("PAY-").isNotNull();
}
@Test
@DisplayName("isValide et peutEtreModifie")
void isValide_peutEtreModifie() {
Paiement p = new Paiement();
p.setNumeroReference("X");
p.setMontant(BigDecimal.ONE);
p.setCodeDevise("XOF");
p.setMethodePaiement("WAVE");
p.setMembre(newMembre());
p.setStatutPaiement("VALIDE");
assertThat(p.isValide()).isTrue();
assertThat(p.peutEtreModifie()).isFalse();
p.setStatutPaiement("EN_ATTENTE");
assertThat(p.peutEtreModifie()).isTrue();
}
@Test
@DisplayName("equals et hashCode")
void equalsHashCode() {
UUID id = UUID.randomUUID();
Membre m = newMembre();
Paiement a = new Paiement();
a.setId(id);
a.setNumeroReference("REF-1");
a.setMontant(BigDecimal.ONE);
a.setCodeDevise("XOF");
a.setMethodePaiement("WAVE");
a.setMembre(m);
Paiement b = new Paiement();
b.setId(id);
b.setNumeroReference("REF-1");
b.setMontant(BigDecimal.ONE);
b.setCodeDevise("XOF");
b.setMethodePaiement("WAVE");
b.setMembre(m);
assertThat(a).isEqualTo(b);
assertThat(a.hashCode()).isEqualTo(b.hashCode());
}
@Test
@DisplayName("toString non null")
void toString_nonNull() {
Paiement p = new Paiement();
p.setNumeroReference("X");
p.setMontant(BigDecimal.ONE);
p.setCodeDevise("XOF");
p.setMethodePaiement("WAVE");
p.setMembre(newMembre());
assertThat(p.toString()).isNotNull().isNotEmpty();
}
}