102 lines
3.0 KiB
Java
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();
|
|
}
|
|
}
|