fix(tests): replace record-style accessors with JavaBean getters in server-api tests

All response DTOs were converted from records to @Data classes for JSF/EL
compatibility. Updated 8 test files to use getters instead of record
component accessors. Also added isActif() method to MembreSummaryResponse
(Boolean wrapper needs explicit isActif() since Lombok generates getActif()).
Fixed ConversationResponseTest builder calls: .isMuted() → .muted(),
and MessageResponseTest builder calls: .isEdited() → .edited(), .isDeleted() → .deleted().
This commit is contained in:
dahoud
2026-04-11 02:21:08 +00:00
parent 43678c8ae9
commit ae7ada6b91
9 changed files with 217 additions and 212 deletions

View File

@@ -95,6 +95,11 @@ public class MembreSummaryResponse {
return "secondary"; return "secondary";
} }
/** Retourne true si le membre est actif (null traité comme false). */
public boolean isActif() {
return actif != null && actif;
}
/** Icône PrimeIcons calculée depuis {@link #getRoles()}. */ /** Icône PrimeIcons calculée depuis {@link #getRoles()}. */
public String getTypeIcon() { public String getTypeIcon() {
if (roles == null || roles.isEmpty()) return "pi pi-user"; if (roles == null || roles.isEmpty()) return "pi pi-user";

View File

@@ -40,28 +40,28 @@ class ConversationResponseTest {
.organisationId(orgId) .organisationId(orgId)
.lastMessage(lastMessage) .lastMessage(lastMessage)
.unreadCount(5) .unreadCount(5)
.isMuted(true) .muted(true)
.isPinned(false) .pinned(false)
.isArchived(false) .archived(false)
.createdAt(createdAt) .createdAt(createdAt)
.updatedAt(updatedAt) .updatedAt(updatedAt)
.avatarUrl("https://example.com/avatar.jpg") .avatarUrl("https://example.com/avatar.jpg")
.build(); .build();
assertThat(response.id()).isEqualTo(id); assertThat(response.getId()).isEqualTo(id);
assertThat(response.name()).isEqualTo("Conversation Test"); assertThat(response.getName()).isEqualTo("Conversation Test");
assertThat(response.description()).isEqualTo("Description test"); assertThat(response.getDescription()).isEqualTo("Description test");
assertThat(response.type()).isEqualTo(ConversationType.GROUP); assertThat(response.getType()).isEqualTo(ConversationType.GROUP);
assertThat(response.participantIds()).containsExactly(participant1, participant2); assertThat(response.getParticipantIds()).containsExactly(participant1, participant2);
assertThat(response.organisationId()).isEqualTo(orgId); assertThat(response.getOrganisationId()).isEqualTo(orgId);
assertThat(response.lastMessage()).isEqualTo(lastMessage); assertThat(response.getLastMessage()).isEqualTo(lastMessage);
assertThat(response.unreadCount()).isEqualTo(5); assertThat(response.getUnreadCount()).isEqualTo(5);
assertThat(response.isMuted()).isTrue(); assertThat(response.isMuted()).isTrue();
assertThat(response.isPinned()).isFalse(); assertThat(response.isPinned()).isFalse();
assertThat(response.isArchived()).isFalse(); assertThat(response.isArchived()).isFalse();
assertThat(response.createdAt()).isEqualTo(createdAt); assertThat(response.getCreatedAt()).isEqualTo(createdAt);
assertThat(response.updatedAt()).isEqualTo(updatedAt); assertThat(response.getUpdatedAt()).isEqualTo(updatedAt);
assertThat(response.avatarUrl()).isEqualTo("https://example.com/avatar.jpg"); assertThat(response.getAvatarUrl()).isEqualTo("https://example.com/avatar.jpg");
} }
@Test @Test
@@ -69,20 +69,20 @@ class ConversationResponseTest {
void testBuilderWithNulls() { void testBuilderWithNulls() {
ConversationResponse response = ConversationResponse.builder().build(); ConversationResponse response = ConversationResponse.builder().build();
assertThat(response.id()).isNull(); assertThat(response.getId()).isNull();
assertThat(response.name()).isNull(); assertThat(response.getName()).isNull();
assertThat(response.description()).isNull(); assertThat(response.getDescription()).isNull();
assertThat(response.type()).isNull(); assertThat(response.getType()).isNull();
assertThat(response.participantIds()).isNull(); assertThat(response.getParticipantIds()).isNull();
assertThat(response.organisationId()).isNull(); assertThat(response.getOrganisationId()).isNull();
assertThat(response.lastMessage()).isNull(); assertThat(response.getLastMessage()).isNull();
assertThat(response.unreadCount()).isEqualTo(0); assertThat(response.getUnreadCount()).isEqualTo(0);
assertThat(response.isMuted()).isFalse(); assertThat(response.isMuted()).isFalse();
assertThat(response.isPinned()).isFalse(); assertThat(response.isPinned()).isFalse();
assertThat(response.isArchived()).isFalse(); assertThat(response.isArchived()).isFalse();
assertThat(response.createdAt()).isNull(); assertThat(response.getCreatedAt()).isNull();
assertThat(response.updatedAt()).isNull(); assertThat(response.getUpdatedAt()).isNull();
assertThat(response.avatarUrl()).isNull(); assertThat(response.getAvatarUrl()).isNull();
} }
@Test @Test

View File

@@ -51,28 +51,28 @@ class MessageResponseTest {
.createdAt(createdAt) .createdAt(createdAt)
.readAt(readAt) .readAt(readAt)
.attachments(List.of("file1.pdf", "file2.png")) .attachments(List.of("file1.pdf", "file2.png"))
.isEdited(true) .edited(true)
.editedAt(editedAt) .editedAt(editedAt)
.isDeleted(false) .deleted(false)
.build(); .build();
assertThat(response.id()).isEqualTo(id); assertThat(response.getId()).isEqualTo(id);
assertThat(response.conversationId()).isEqualTo(conversationId); assertThat(response.getConversationId()).isEqualTo(conversationId);
assertThat(response.senderId()).isEqualTo(senderId); assertThat(response.getSenderId()).isEqualTo(senderId);
assertThat(response.senderName()).isEqualTo("John Doe"); assertThat(response.getSenderName()).isEqualTo("John Doe");
assertThat(response.senderAvatar()).isEqualTo("https://example.com/avatar.jpg"); assertThat(response.getSenderAvatar()).isEqualTo("https://example.com/avatar.jpg");
assertThat(response.content()).isEqualTo("Message content"); assertThat(response.getContent()).isEqualTo("Message content");
assertThat(response.type()).isEqualTo(MessageType.INDIVIDUAL); assertThat(response.getType()).isEqualTo(MessageType.INDIVIDUAL);
assertThat(response.status()).isEqualTo(MessageStatus.READ); assertThat(response.getStatus()).isEqualTo(MessageStatus.READ);
assertThat(response.priority()).isEqualTo(MessagePriority.HIGH); assertThat(response.getPriority()).isEqualTo(MessagePriority.HIGH);
assertThat(response.recipientIds()).containsExactly(recipient1, recipient2); assertThat(response.getRecipientIds()).containsExactly(recipient1, recipient2);
assertThat(response.recipientRoles()).containsExactly("ADMIN", "USER"); assertThat(response.getRecipientRoles()).containsExactly("ADMIN", "USER");
assertThat(response.organisationId()).isEqualTo(orgId); assertThat(response.getOrganisationId()).isEqualTo(orgId);
assertThat(response.createdAt()).isEqualTo(createdAt); assertThat(response.getCreatedAt()).isEqualTo(createdAt);
assertThat(response.readAt()).isEqualTo(readAt); assertThat(response.getReadAt()).isEqualTo(readAt);
assertThat(response.attachments()).containsExactly("file1.pdf", "file2.png"); assertThat(response.getAttachments()).containsExactly("file1.pdf", "file2.png");
assertThat(response.isEdited()).isTrue(); assertThat(response.isEdited()).isTrue();
assertThat(response.editedAt()).isEqualTo(editedAt); assertThat(response.getEditedAt()).isEqualTo(editedAt);
assertThat(response.isDeleted()).isFalse(); assertThat(response.isDeleted()).isFalse();
} }
@@ -81,23 +81,23 @@ class MessageResponseTest {
void testBuilderWithNulls() { void testBuilderWithNulls() {
MessageResponse response = MessageResponse.builder().build(); MessageResponse response = MessageResponse.builder().build();
assertThat(response.id()).isNull(); assertThat(response.getId()).isNull();
assertThat(response.conversationId()).isNull(); assertThat(response.getConversationId()).isNull();
assertThat(response.senderId()).isNull(); assertThat(response.getSenderId()).isNull();
assertThat(response.senderName()).isNull(); assertThat(response.getSenderName()).isNull();
assertThat(response.senderAvatar()).isNull(); assertThat(response.getSenderAvatar()).isNull();
assertThat(response.content()).isNull(); assertThat(response.getContent()).isNull();
assertThat(response.type()).isNull(); assertThat(response.getType()).isNull();
assertThat(response.status()).isNull(); assertThat(response.getStatus()).isNull();
assertThat(response.priority()).isNull(); assertThat(response.getPriority()).isNull();
assertThat(response.recipientIds()).isNull(); assertThat(response.getRecipientIds()).isNull();
assertThat(response.recipientRoles()).isNull(); assertThat(response.getRecipientRoles()).isNull();
assertThat(response.organisationId()).isNull(); assertThat(response.getOrganisationId()).isNull();
assertThat(response.createdAt()).isNull(); assertThat(response.getCreatedAt()).isNull();
assertThat(response.readAt()).isNull(); assertThat(response.getReadAt()).isNull();
assertThat(response.attachments()).isNull(); assertThat(response.getAttachments()).isNull();
assertThat(response.isEdited()).isFalse(); assertThat(response.isEdited()).isFalse();
assertThat(response.editedAt()).isNull(); assertThat(response.getEditedAt()).isNull();
assertThat(response.isDeleted()).isFalse(); assertThat(response.isDeleted()).isFalse();
} }

View File

@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** /**
* Tests unitaires pour CotisationSummaryResponse (record). * Tests unitaires pour CotisationSummaryResponse.
* *
* @author UnionFlow Team * @author UnionFlow Team
* @version 1.0 * @version 1.0
@@ -51,16 +51,16 @@ class CotisationSummaryResponseTest {
); );
assertThat(response).isNotNull(); assertThat(response).isNotNull();
assertThat(response.id()).isEqualTo(id); assertThat(response.getId()).isEqualTo(id);
assertThat(response.numeroReference()).isEqualTo("COT-2026-001"); assertThat(response.getNumeroReference()).isEqualTo("COT-2026-001");
assertThat(response.nomMembre()).isEqualTo("Jean Dupont"); assertThat(response.getNomMembre()).isEqualTo("Jean Dupont");
assertThat(response.montantDu()).isEqualTo(new BigDecimal("50000.00")); assertThat(response.getMontantDu()).isEqualTo(new BigDecimal("50000.00"));
assertThat(response.montantPaye()).isEqualTo(new BigDecimal("30000.00")); assertThat(response.getMontantPaye()).isEqualTo(new BigDecimal("30000.00"));
assertThat(response.statut()).isEqualTo("EN_COURS"); assertThat(response.getStatut()).isEqualTo("EN_COURS");
assertThat(response.statutLibelle()).isEqualTo("Paiement en cours"); assertThat(response.getStatutLibelle()).isEqualTo("Paiement en cours");
assertThat(response.dateEcheance()).isEqualTo(LocalDate.of(2026, 12, 31)); assertThat(response.getDateEcheance()).isEqualTo(LocalDate.of(2026, 12, 31));
assertThat(response.annee()).isEqualTo(2026); assertThat(response.getAnnee()).isEqualTo(2026);
assertThat(response.actif()).isTrue(); assertThat(response.getActif()).isTrue();
} }
@Test @Test
@@ -80,16 +80,16 @@ class CotisationSummaryResponseTest {
); );
assertThat(response).isNotNull(); assertThat(response).isNotNull();
assertThat(response.id()).isNull(); assertThat(response.getId()).isNull();
assertThat(response.numeroReference()).isNull(); assertThat(response.getNumeroReference()).isNull();
assertThat(response.nomMembre()).isNull(); assertThat(response.getNomMembre()).isNull();
assertThat(response.montantDu()).isNull(); assertThat(response.getMontantDu()).isNull();
assertThat(response.montantPaye()).isNull(); assertThat(response.getMontantPaye()).isNull();
assertThat(response.statut()).isNull(); assertThat(response.getStatut()).isNull();
assertThat(response.statutLibelle()).isNull(); assertThat(response.getStatutLibelle()).isNull();
assertThat(response.dateEcheance()).isNull(); assertThat(response.getDateEcheance()).isNull();
assertThat(response.annee()).isNull(); assertThat(response.getAnnee()).isNull();
assertThat(response.actif()).isNull(); assertThat(response.getActif()).isNull();
} }
} }
@@ -213,8 +213,8 @@ class CotisationSummaryResponseTest {
true true
); );
assertThat(response.montantDu()).isEqualTo(response.montantPaye()); assertThat(response.getMontantDu()).isEqualTo(response.getMontantPaye());
assertThat(response.statut()).isEqualTo("PAYE"); assertThat(response.getStatut()).isEqualTo("PAYE");
} }
@Test @Test
@@ -233,8 +233,8 @@ class CotisationSummaryResponseTest {
true true
); );
assertThat(response.montantPaye()).isLessThan(response.montantDu()); assertThat(response.getMontantPaye()).isLessThan(response.getMontantDu());
assertThat(response.statut()).isEqualTo("EN_COURS"); assertThat(response.getStatut()).isEqualTo("EN_COURS");
} }
@Test @Test
@@ -253,8 +253,8 @@ class CotisationSummaryResponseTest {
true true
); );
assertThat(response.montantPaye()).isEqualByComparingTo(BigDecimal.ZERO); assertThat(response.getMontantPaye()).isEqualByComparingTo(BigDecimal.ZERO);
assertThat(response.statut()).isEqualTo("IMPAYE"); assertThat(response.getStatut()).isEqualTo("IMPAYE");
} }
@Test @Test
@@ -275,8 +275,8 @@ class CotisationSummaryResponseTest {
true true
); );
assertThat(response.dateEcheance()).isBefore(LocalDate.now()); assertThat(response.getDateEcheance()).isBefore(LocalDate.now());
assertThat(response.statut()).isEqualTo("RETARD"); assertThat(response.getStatut()).isEqualTo("RETARD");
} }
} }
} }

View File

@@ -10,8 +10,8 @@ import org.junit.jupiter.api.Test;
class MembreDashboardSyntheseResponseTest { class MembreDashboardSyntheseResponseTest {
@Test @Test
@DisplayName("Record MembreDashboardSyntheseResponse : construction et accesseurs") @DisplayName("MembreDashboardSyntheseResponse : construction et getters")
void record_constructionAndAccessors() { void constructionAndGetters() {
MembreDashboardSyntheseResponse dto = new MembreDashboardSyntheseResponse( MembreDashboardSyntheseResponse dto = new MembreDashboardSyntheseResponse(
"Jean", "Jean",
"Dupont", "Dupont",
@@ -35,20 +35,20 @@ class MembreDashboardSyntheseResponseTest {
100 100
); );
assertThat(dto.prenom()).isEqualTo("Jean"); assertThat(dto.getPrenom()).isEqualTo("Jean");
assertThat(dto.nom()).isEqualTo("Dupont"); assertThat(dto.getNom()).isEqualTo("Dupont");
assertThat(dto.dateInscription()).isEqualTo(LocalDate.of(2023, 1, 15)); assertThat(dto.getDateInscription()).isEqualTo(LocalDate.of(2023, 1, 15));
assertThat(dto.mesCotisationsPaiement()).isEqualByComparingTo(BigDecimal.valueOf(50000)); assertThat(dto.getMesCotisationsPaiement()).isEqualByComparingTo(BigDecimal.valueOf(50000));
assertThat(dto.totalCotisationsPayeesAnnee()).isEqualByComparingTo(BigDecimal.valueOf(150000)); assertThat(dto.getTotalCotisationsPayeesAnnee()).isEqualByComparingTo(BigDecimal.valueOf(150000));
assertThat(dto.totalCotisationsPayeesToutTemps()).isEqualByComparingTo(BigDecimal.valueOf(200000)); assertThat(dto.getTotalCotisationsPayeesToutTemps()).isEqualByComparingTo(BigDecimal.valueOf(200000));
assertThat(dto.nombreCotisationsPayees()).isEqualTo(5); assertThat(dto.getNombreCotisationsPayees()).isEqualTo(5);
assertThat(dto.statutCotisations()).isEqualTo("À jour"); assertThat(dto.getStatutCotisations()).isEqualTo("À jour");
assertThat(dto.tauxCotisationsPerso()).isEqualTo(100); assertThat(dto.getTauxCotisationsPerso()).isEqualTo(100);
assertThat(dto.monSoldeEpargne()).isEqualByComparingTo(BigDecimal.valueOf(250000)); assertThat(dto.getMonSoldeEpargne()).isEqualByComparingTo(BigDecimal.valueOf(250000));
assertThat(dto.objectifEpargne()).isEqualTo(500000); assertThat(dto.getObjectifEpargne()).isEqualTo(500000);
assertThat(dto.mesEvenementsInscrits()).isEqualTo(3); assertThat(dto.getMesEvenementsInscrits()).isEqualTo(3);
assertThat(dto.tauxParticipationPerso()).isEqualTo(75); assertThat(dto.getTauxParticipationPerso()).isEqualTo(75);
assertThat(dto.mesDemandesAide()).isEqualTo(1); assertThat(dto.getMesDemandesAide()).isEqualTo(1);
assertThat(dto.tauxAidesApprouvees()).isEqualTo(100); assertThat(dto.getTauxAidesApprouvees()).isEqualTo(100);
} }
} }

View File

@@ -23,14 +23,14 @@ class MembreSummaryResponseTest {
// ── nomComplet ───────────────────────────────────────────────────────── // ── nomComplet ─────────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("nomComplet()") @DisplayName("getNomComplet()")
class NomComplet { class NomComplet {
@Test @Test
@DisplayName("prenom + nom concaténés") @DisplayName("prenom + nom concaténés")
void nominal() { void nominal() {
MembreSummaryResponse r = make("ACTIF", List.of()); MembreSummaryResponse r = make("ACTIF", List.of());
assertThat(r.nomComplet()).isEqualTo("Jean Dupont"); assertThat(r.getNomComplet()).isEqualTo("Jean Dupont");
} }
@Test @Test
@@ -39,7 +39,7 @@ class MembreSummaryResponseTest {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, "Dupont", null, UUID.randomUUID(), null, null, "Dupont", null,
null, null, null, null, null, false, List.of(), null, null, null); null, null, null, null, null, false, List.of(), null, null, null);
assertThat(r.nomComplet()).isEqualTo("Dupont"); assertThat(r.getNomComplet()).isEqualTo("Dupont");
} }
@Test @Test
@@ -48,7 +48,7 @@ class MembreSummaryResponseTest {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, "Jean", null, null, UUID.randomUUID(), null, "Jean", null, null,
null, null, null, null, null, false, List.of(), null, null, null); null, null, null, null, null, false, List.of(), null, null, null);
assertThat(r.nomComplet()).isEqualTo("Jean"); assertThat(r.getNomComplet()).isEqualTo("Jean");
} }
@Test @Test
@@ -57,7 +57,7 @@ class MembreSummaryResponseTest {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, null, null, UUID.randomUUID(), null, null, null, null,
null, null, null, null, null, false, List.of(), null, null, null); null, null, null, null, null, false, List.of(), null, null, null);
assertThat(r.nomComplet()).isEmpty(); assertThat(r.getNomComplet()).isEmpty();
} }
} }
@@ -68,42 +68,42 @@ class MembreSummaryResponseTest {
class AliasStatut { class AliasStatut {
@Test @Test
@DisplayName("statut() retourne statutCompte") @DisplayName("getStatut() retourne getStatutCompte()")
void statut() { void statut() {
MembreSummaryResponse r = make("ACTIF", List.of()); MembreSummaryResponse r = make("ACTIF", List.of());
assertThat(r.statut()).isEqualTo(r.statutCompte()); assertThat(r.getStatut()).isEqualTo(r.getStatutCompte());
} }
@Test @Test
@DisplayName("statutLibelle() retourne statutCompteLibelle") @DisplayName("getStatutLibelle() retourne getStatutCompteLibelle()")
void statutLibelle() { void statutLibelle() {
MembreSummaryResponse r = make("ACTIF", List.of()); MembreSummaryResponse r = make("ACTIF", List.of());
assertThat(r.statutLibelle()).isEqualTo(r.statutCompteLibelle()); assertThat(r.getStatutLibelle()).isEqualTo(r.getStatutCompteLibelle());
} }
@Test @Test
@DisplayName("statutSeverity() retourne statutCompteSeverity") @DisplayName("getStatutSeverity() retourne getStatutCompteSeverity()")
void statutSeverity() { void statutSeverity() {
MembreSummaryResponse r = make("ACTIF", List.of()); MembreSummaryResponse r = make("ACTIF", List.of());
assertThat(r.statutSeverity()).isEqualTo(r.statutCompteSeverity()); assertThat(r.getStatutSeverity()).isEqualTo(r.getStatutCompteSeverity());
} }
} }
// ── statutIcon ───────────────────────────────────────────────────────── // ── statutIcon ─────────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("statutIcon()") @DisplayName("getStatutIcon()")
class StatutIcon { class StatutIcon {
@Test void actif() { assertThat(make("ACTIF", List.of()).statutIcon()).isEqualTo("pi pi-check-circle"); } @Test void actif() { assertThat(make("ACTIF", List.of()).getStatutIcon()).isEqualTo("pi pi-check-circle"); }
@Test void inactif() { assertThat(make("INACTIF", List.of()).statutIcon()).isEqualTo("pi pi-pause-circle"); } @Test void inactif() { assertThat(make("INACTIF", List.of()).getStatutIcon()).isEqualTo("pi pi-pause-circle"); }
@Test void suspendu() { assertThat(make("SUSPENDU", List.of()).statutIcon()).isEqualTo("pi pi-ban"); } @Test void suspendu() { assertThat(make("SUSPENDU", List.of()).getStatutIcon()).isEqualTo("pi pi-ban"); }
@Test void radie() { assertThat(make("RADIE", List.of()).statutIcon()).isEqualTo("pi pi-times-circle"); } @Test void radie() { assertThat(make("RADIE", List.of()).getStatutIcon()).isEqualTo("pi pi-times-circle"); }
@Test @Test
@DisplayName("statut inconnu → pi pi-question-circle") @DisplayName("statut inconnu → pi pi-question-circle")
void inconnu() { void inconnu() {
assertThat(make("AUTRE", List.of()).statutIcon()).isEqualTo("pi pi-question-circle"); assertThat(make("AUTRE", List.of()).getStatutIcon()).isEqualTo("pi pi-question-circle");
} }
@Test @Test
@@ -112,96 +112,96 @@ class MembreSummaryResponseTest {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, null, null, UUID.randomUUID(), null, null, null, null,
null, null, null, null, null, false, List.of(), null, null, null); null, null, null, null, null, false, List.of(), null, null, null);
assertThat(r.statutIcon()).isEqualTo("pi pi-question-circle"); assertThat(r.getStatutIcon()).isEqualTo("pi pi-question-circle");
} }
} }
// ── typeMembre ───────────────────────────────────────────────────────── // ── typeMembre ─────────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("typeMembre()") @DisplayName("getTypeMembre()")
class TypeMembre { class TypeMembre {
@Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).typeMembre()).isEqualTo("Président"); } @Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).getTypeMembre()).isEqualTo("Président"); }
@Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).typeMembre()).isEqualTo("Vice-Président"); } @Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).getTypeMembre()).isEqualTo("Vice-Président"); }
@Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).typeMembre()).isEqualTo("Secrétaire"); } @Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).getTypeMembre()).isEqualTo("Secrétaire"); }
@Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).typeMembre()).isEqualTo("Trésorier"); } @Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).getTypeMembre()).isEqualTo("Trésorier"); }
@Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).typeMembre()).isEqualTo("Administrateur"); } @Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).getTypeMembre()).isEqualTo("Administrateur"); }
@Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).typeMembre()).isEqualTo("Modérateur"); } @Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).getTypeMembre()).isEqualTo("Modérateur"); }
@Test void membreActif() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).typeMembre()).isEqualTo("Membre"); } @Test void membreActif() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).getTypeMembre()).isEqualTo("Membre"); }
@Test void rolesVide() { assertThat(make("ACTIF", List.of()).typeMembre()).isEqualTo("Membre"); } @Test void rolesVide() { assertThat(make("ACTIF", List.of()).getTypeMembre()).isEqualTo("Membre"); }
@Test void rolesNull() { @Test void rolesNull() {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, null, null, UUID.randomUUID(), null, null, null, null,
null, null, null, null, null, false, null, null, null, null); null, null, null, null, null, false, null, null, null, null);
assertThat(r.typeMembre()).isEqualTo("Membre"); assertThat(r.getTypeMembre()).isEqualTo("Membre");
} }
} }
// ── typeSeverity ─────────────────────────────────────────────────────── // ── typeSeverity ───────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("typeSeverity()") @DisplayName("getTypeSeverity()")
class TypeSeverity { class TypeSeverity {
@Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).typeSeverity()).isEqualTo("primary"); } @Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).getTypeSeverity()).isEqualTo("primary"); }
@Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).typeSeverity()).isEqualTo("primary"); } @Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).getTypeSeverity()).isEqualTo("primary"); }
@Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).typeSeverity()).isEqualTo("info"); } @Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).getTypeSeverity()).isEqualTo("info"); }
@Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).typeSeverity()).isEqualTo("warning"); } @Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).getTypeSeverity()).isEqualTo("warning"); }
@Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).typeSeverity()).isEqualTo("danger"); } @Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).getTypeSeverity()).isEqualTo("danger"); }
@Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).typeSeverity()).isEqualTo("warning"); } @Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).getTypeSeverity()).isEqualTo("warning"); }
@Test void roleDefault() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).typeSeverity()).isEqualTo("secondary"); } @Test void roleDefault() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).getTypeSeverity()).isEqualTo("secondary"); }
@Test void rolesVide() { assertThat(make("ACTIF", List.of()).typeSeverity()).isEqualTo("secondary"); } @Test void rolesVide() { assertThat(make("ACTIF", List.of()).getTypeSeverity()).isEqualTo("secondary"); }
@Test void rolesNull() { @Test void rolesNull() {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, null, null, UUID.randomUUID(), null, null, null, null,
null, null, null, null, null, false, null, null, null, null); null, null, null, null, null, false, null, null, null, null);
assertThat(r.typeSeverity()).isEqualTo("secondary"); assertThat(r.getTypeSeverity()).isEqualTo("secondary");
} }
} }
// ── typeIcon ─────────────────────────────────────────────────────────── // ── typeIcon ───────────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("typeIcon()") @DisplayName("getTypeIcon()")
class TypeIcon { class TypeIcon {
@Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).typeIcon()).isEqualTo("pi pi-star"); } @Test void president() { assertThat(make("ACTIF", List.of("PRESIDENT")).getTypeIcon()).isEqualTo("pi pi-star"); }
@Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).typeIcon()).isEqualTo("pi pi-star"); } @Test void vicePresident() { assertThat(make("ACTIF", List.of("VICE_PRESIDENT")).getTypeIcon()).isEqualTo("pi pi-star"); }
@Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).typeIcon()).isEqualTo("pi pi-file-edit"); } @Test void secretaire() { assertThat(make("ACTIF", List.of("SECRETAIRE")).getTypeIcon()).isEqualTo("pi pi-file-edit"); }
@Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).typeIcon()).isEqualTo("pi pi-wallet"); } @Test void tresorier() { assertThat(make("ACTIF", List.of("TRESORIER")).getTypeIcon()).isEqualTo("pi pi-wallet"); }
@Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).typeIcon()).isEqualTo("pi pi-shield"); } @Test void adminOrg() { assertThat(make("ACTIF", List.of("ADMIN_ORGANISATION")).getTypeIcon()).isEqualTo("pi pi-shield"); }
@Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).typeIcon()).isEqualTo("pi pi-wrench"); } @Test void moderateur() { assertThat(make("ACTIF", List.of("MODERATEUR")).getTypeIcon()).isEqualTo("pi pi-wrench"); }
@Test void roleDefault() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).typeIcon()).isEqualTo("pi pi-user"); } @Test void roleDefault() { assertThat(make("ACTIF", List.of("MEMBRE_ACTIF")).getTypeIcon()).isEqualTo("pi pi-user"); }
@Test void rolesVide() { assertThat(make("ACTIF", List.of()).typeIcon()).isEqualTo("pi pi-user"); } @Test void rolesVide() { assertThat(make("ACTIF", List.of()).getTypeIcon()).isEqualTo("pi pi-user"); }
@Test void rolesNull() { @Test void rolesNull() {
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, null, null, null, UUID.randomUUID(), null, null, null, null,
null, null, null, null, null, false, null, null, null, null); null, null, null, null, null, false, null, null, null, null);
assertThat(r.typeIcon()).isEqualTo("pi pi-user"); assertThat(r.getTypeIcon()).isEqualTo("pi pi-user");
} }
} }
// ── dateAdhesion ─────────────────────────────────────────────────────── // ── dateAdhesion ───────────────────────────────────────────────────────
@Nested @Nested
@DisplayName("dateAdhesion()") @DisplayName("getDateAdhesion()")
class DateAdhesion { class DateAdhesion {
@Test @Test
@DisplayName("dateAdhesion est accessible via le composant record") @DisplayName("dateAdhesion est accessible via le getter")
void accesseur() { void accesseur() {
LocalDate date = LocalDate.of(2024, 3, 15); LocalDate date = LocalDate.of(2024, 3, 15);
MembreSummaryResponse r = new MembreSummaryResponse( MembreSummaryResponse r = new MembreSummaryResponse(
UUID.randomUUID(), null, "Jean", "Dupont", null, UUID.randomUUID(), null, "Jean", "Dupont", null,
null, null, "ACTIF", null, null, true, List.of(), null, null, date); null, null, "ACTIF", null, null, true, List.of(), null, null, date);
assertThat(r.dateAdhesion()).isEqualTo(date); assertThat(r.getDateAdhesion()).isEqualTo(date);
} }
@Test @Test
@DisplayName("dateAdhesion null par défaut") @DisplayName("dateAdhesion null par défaut")
void nullParDefaut() { void nullParDefaut() {
assertThat(make("ACTIF", List.of()).dateAdhesion()).isNull(); assertThat(make("ACTIF", List.of()).getDateAdhesion()).isNull();
} }
} }
@@ -250,17 +250,17 @@ class MembreSummaryResponseTest {
} }
@Test @Test
@DisplayName("getters calculés délèguent aux méthodes calculées") @DisplayName("getters calculés retournent les valeurs attendues")
void gettersCalcules() { void gettersCalcules() {
MembreSummaryResponse r = make("ACTIF", List.of("PRESIDENT")); MembreSummaryResponse r = make("ACTIF", List.of("PRESIDENT"));
assertThat(r.getNomComplet()).isEqualTo(r.nomComplet()); assertThat(r.getNomComplet()).isEqualTo("Jean Dupont");
assertThat(r.getStatut()).isEqualTo(r.statut()); assertThat(r.getStatut()).isEqualTo("ACTIF");
assertThat(r.getStatutLibelle()).isEqualTo(r.statutLibelle()); assertThat(r.getStatutLibelle()).isEqualTo("ACTIF_libelle");
assertThat(r.getStatutSeverity()).isEqualTo(r.statutSeverity()); assertThat(r.getStatutSeverity()).isEqualTo("ACTIF_severity");
assertThat(r.getStatutIcon()).isEqualTo(r.statutIcon()); assertThat(r.getStatutIcon()).isEqualTo("pi pi-check-circle");
assertThat(r.getTypeMembre()).isEqualTo(r.typeMembre()); assertThat(r.getTypeMembre()).isEqualTo("Président");
assertThat(r.getTypeSeverity()).isEqualTo(r.typeSeverity()); assertThat(r.getTypeSeverity()).isEqualTo("primary");
assertThat(r.getTypeIcon()).isEqualTo(r.typeIcon()); assertThat(r.getTypeIcon()).isEqualTo("pi pi-star");
} }
} }
} }

View File

@@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test;
class OrganisationSummaryResponseTest { class OrganisationSummaryResponseTest {
@Test @Test
void testRecord_AllFields() { void testAllFields() {
UUID id = UUID.randomUUID(); UUID id = UUID.randomUUID();
OrganisationSummaryResponse response = new OrganisationSummaryResponse( OrganisationSummaryResponse response = new OrganisationSummaryResponse(
@@ -24,20 +24,20 @@ class OrganisationSummaryResponseTest {
true true
); );
assertThat(response.id()).isEqualTo(id); assertThat(response.getId()).isEqualTo(id);
assertThat(response.nom()).isEqualTo("Mutuelle du Futur"); assertThat(response.getNom()).isEqualTo("Mutuelle du Futur");
assertThat(response.nomCourt()).isEqualTo("MDF"); assertThat(response.getNomCourt()).isEqualTo("MDF");
assertThat(response.typeOrganisation()).isEqualTo("MUTUELLE"); assertThat(response.getTypeOrganisation()).isEqualTo("MUTUELLE");
assertThat(response.typeOrganisationLibelle()).isEqualTo("Mutuelle"); assertThat(response.getTypeOrganisationLibelle()).isEqualTo("Mutuelle");
assertThat(response.statut()).isEqualTo("ACTIF"); assertThat(response.getStatut()).isEqualTo("ACTIF");
assertThat(response.statutLibelle()).isEqualTo("Actif"); assertThat(response.getStatutLibelle()).isEqualTo("Actif");
assertThat(response.statutSeverity()).isEqualTo("success"); assertThat(response.getStatutSeverity()).isEqualTo("success");
assertThat(response.nombreMembres()).isEqualTo(150); assertThat(response.getNombreMembres()).isEqualTo(150);
assertThat(response.actif()).isTrue(); assertThat(response.getActif()).isTrue();
} }
@Test @Test
void testRecord_Equals() { void testEquals() {
UUID id = UUID.randomUUID(); UUID id = UUID.randomUUID();
OrganisationSummaryResponse response1 = new OrganisationSummaryResponse( OrganisationSummaryResponse response1 = new OrganisationSummaryResponse(
@@ -53,7 +53,7 @@ class OrganisationSummaryResponseTest {
} }
@Test @Test
void testRecord_ToString() { void testToString() {
OrganisationSummaryResponse response = new OrganisationSummaryResponse( OrganisationSummaryResponse response = new OrganisationSummaryResponse(
UUID.randomUUID(), "Org", "ORG", "TYPE", "Type", UUID.randomUUID(), "Org", "ORG", "TYPE", "Type",
"ACTIF", "Actif", "success", 100, true "ACTIF", "Actif", "success", 100, true
@@ -67,14 +67,14 @@ class OrganisationSummaryResponseTest {
} }
@Test @Test
void testRecord_WithNullValues() { void testWithNullValues() {
OrganisationSummaryResponse response = new OrganisationSummaryResponse( OrganisationSummaryResponse response = new OrganisationSummaryResponse(
UUID.randomUUID(), "Org", null, "TYPE", "Type", UUID.randomUUID(), "Org", null, "TYPE", "Type",
"ACTIF", "Actif", "success", null, false "ACTIF", "Actif", "success", null, false
); );
assertThat(response.nomCourt()).isNull(); assertThat(response.getNomCourt()).isNull();
assertThat(response.nombreMembres()).isNull(); assertThat(response.getNombreMembres()).isNull();
assertThat(response.actif()).isFalse(); assertThat(response.getActif()).isFalse();
} }
} }

View File

@@ -24,14 +24,14 @@ class IntentionStatutResponseTest {
.build(); .build();
assertThat(response).isNotNull(); assertThat(response).isNotNull();
assertThat(response.intentionId()).isEqualTo(intentionId); assertThat(response.getIntentionId()).isEqualTo(intentionId);
assertThat(response.statut()).isEqualTo("COMPLETEE"); assertThat(response.getStatut()).isEqualTo("COMPLETEE");
assertThat(response.waveLaunchUrl()).isEqualTo("https://pay.wave.com/c/cos-abc123"); assertThat(response.getWaveLaunchUrl()).isEqualTo("https://pay.wave.com/c/cos-abc123");
assertThat(response.waveCheckoutSessionId()).isEqualTo("cos-abc123"); assertThat(response.getWaveCheckoutSessionId()).isEqualTo("cos-abc123");
assertThat(response.waveTransactionId()).isEqualTo("TCN4Y4ZC3FM"); assertThat(response.getWaveTransactionId()).isEqualTo("TCN4Y4ZC3FM");
assertThat(response.montant()).isEqualByComparingTo(new BigDecimal("5000")); assertThat(response.getMontant()).isEqualByComparingTo(new BigDecimal("5000"));
assertThat(response.referenceCotisation()).isEqualTo("COT-2025-001"); assertThat(response.getReferenceCotisation()).isEqualTo("COT-2025-001");
assertThat(response.message()).isEqualTo("Paiement confirmé !"); assertThat(response.getMessage()).isEqualTo("Paiement confirmé !");
} }
@Test @Test
@@ -47,11 +47,11 @@ class IntentionStatutResponseTest {
.message("En attente de confirmation Wave...") .message("En attente de confirmation Wave...")
.build(); .build();
assertThat(response.intentionId()).isEqualTo(intentionId); assertThat(response.getIntentionId()).isEqualTo(intentionId);
assertThat(response.statut()).isEqualTo("EN_COURS"); assertThat(response.getStatut()).isEqualTo("EN_COURS");
assertThat(response.waveLaunchUrl()).isEqualTo("https://pay.wave.com/c/cos-xyz789"); assertThat(response.getWaveLaunchUrl()).isEqualTo("https://pay.wave.com/c/cos-xyz789");
assertThat(response.waveTransactionId()).isNull(); assertThat(response.getWaveTransactionId()).isNull();
assertThat(response.referenceCotisation()).isNull(); assertThat(response.getReferenceCotisation()).isNull();
} }
@Test @Test
@@ -65,10 +65,10 @@ class IntentionStatutResponseTest {
.message("Session Wave expirée") .message("Session Wave expirée")
.build(); .build();
assertThat(response.statut()).isEqualTo("EXPIREE"); assertThat(response.getStatut()).isEqualTo("EXPIREE");
assertThat(response.waveLaunchUrl()).isNull(); assertThat(response.getWaveLaunchUrl()).isNull();
assertThat(response.waveCheckoutSessionId()).isNull(); assertThat(response.getWaveCheckoutSessionId()).isNull();
assertThat(response.waveTransactionId()).isNull(); assertThat(response.getWaveTransactionId()).isNull();
} }
@Test @Test

View File

@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test;
class PaiementSummaryResponseTest { class PaiementSummaryResponseTest {
@Test @Test
void testRecord_AllFields() { void testAllFields() {
UUID id = UUID.randomUUID(); UUID id = UUID.randomUUID();
LocalDateTime datePaiement = LocalDateTime.now(); LocalDateTime datePaiement = LocalDateTime.now();
@@ -26,19 +26,19 @@ class PaiementSummaryResponseTest {
datePaiement datePaiement
); );
assertThat(response.id()).isEqualTo(id); assertThat(response.getId()).isEqualTo(id);
assertThat(response.numeroReference()).isEqualTo("PAY-2026-001"); assertThat(response.getNumeroReference()).isEqualTo("PAY-2026-001");
assertThat(response.montant()).isEqualByComparingTo(new BigDecimal("5000.00")); assertThat(response.getMontant()).isEqualByComparingTo(new BigDecimal("5000.00"));
assertThat(response.codeDevise()).isEqualTo("XOF"); assertThat(response.getCodeDevise()).isEqualTo("XOF");
assertThat(response.methodePaiementLibelle()).isEqualTo("Carte bancaire"); assertThat(response.getMethodePaiementLibelle()).isEqualTo("Carte bancaire");
assertThat(response.statutPaiement()).isEqualTo("REUSSI"); assertThat(response.getStatutPaiement()).isEqualTo("REUSSI");
assertThat(response.statutPaiementLibelle()).isEqualTo("Réussi"); assertThat(response.getStatutPaiementLibelle()).isEqualTo("Réussi");
assertThat(response.statutPaiementSeverity()).isEqualTo("success"); assertThat(response.getStatutPaiementSeverity()).isEqualTo("success");
assertThat(response.datePaiement()).isEqualTo(datePaiement); assertThat(response.getDatePaiement()).isEqualTo(datePaiement);
} }
@Test @Test
void testRecord_Equals() { void testEquals() {
UUID id = UUID.randomUUID(); UUID id = UUID.randomUUID();
LocalDateTime date = LocalDateTime.now(); LocalDateTime date = LocalDateTime.now();
@@ -57,7 +57,7 @@ class PaiementSummaryResponseTest {
} }
@Test @Test
void testRecord_ToString() { void testToString() {
PaiementSummaryResponse response = new PaiementSummaryResponse( PaiementSummaryResponse response = new PaiementSummaryResponse(
UUID.randomUUID(), "PAY-001", new BigDecimal("1000.00"), "XOF", UUID.randomUUID(), "PAY-001", new BigDecimal("1000.00"), "XOF",
"Wave", "REUSSI", "Réussi", "success", LocalDateTime.now() "Wave", "REUSSI", "Réussi", "success", LocalDateTime.now()