Sync: code local unifié
Synchronisation du code source local (fait foi). Signed-off-by: lions dev Team
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
package dev.lions.unionflow.server.service;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import dev.lions.unionflow.server.entity.Membre;
|
||||
import dev.lions.unionflow.server.repository.MembreRepository;
|
||||
import io.quarkus.test.InjectMock;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
import jakarta.inject.Inject;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@QuarkusTest
|
||||
class MembreServiceTest {
|
||||
|
||||
@Inject
|
||||
MembreService membreService;
|
||||
|
||||
@InjectMock
|
||||
MembreRepository membreRepository;
|
||||
|
||||
@Test
|
||||
@DisplayName("creerMembre génère un numéro unique et définit le statut ACTIF")
|
||||
void creerMembre_initializesCorrectly() {
|
||||
Membre membre = new Membre();
|
||||
membre.setEmail("test@unionflow.dev");
|
||||
membre.setNom("Doe");
|
||||
membre.setPrenom("John");
|
||||
|
||||
when(membreRepository.findByEmail("test@unionflow.dev")).thenReturn(Optional.empty());
|
||||
when(membreRepository.findByNumeroMembre(any())).thenReturn(Optional.empty());
|
||||
|
||||
Membre created = membreService.creerMembre(membre);
|
||||
|
||||
assertThat(created.getNumeroMembre()).startsWith("UF");
|
||||
assertThat(created.getStatutCompte()).isEqualTo("ACTIF");
|
||||
assertThat(created.getActif()).isTrue();
|
||||
verify(membreRepository).persist(membre);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("mettreAJourMembre met à jour les champs autorisés")
|
||||
void mettreAJourMembre_updatesFields() {
|
||||
UUID id = UUID.randomUUID();
|
||||
Membre existing = new Membre();
|
||||
existing.setId(id);
|
||||
existing.setEmail("old@unionflow.dev");
|
||||
|
||||
Membre modifie = new Membre();
|
||||
modifie.setEmail("new@unionflow.dev");
|
||||
modifie.setNom("Smith");
|
||||
|
||||
when(membreRepository.findById(id)).thenReturn(existing);
|
||||
when(membreRepository.findByEmail("new@unionflow.dev")).thenReturn(Optional.empty());
|
||||
|
||||
Membre updated = membreService.mettreAJourMembre(id, modifie);
|
||||
|
||||
assertThat(updated.getEmail()).isEqualTo("new@unionflow.dev");
|
||||
assertThat(updated.getNom()).isEqualTo("Smith");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("desactiverMembre passe le flag actif à false")
|
||||
void desactiverMembre_setsActifToFalse() {
|
||||
UUID id = UUID.randomUUID();
|
||||
Membre existing = new Membre();
|
||||
existing.setId(id);
|
||||
existing.setActif(true);
|
||||
|
||||
when(membreRepository.findById(id)).thenReturn(existing);
|
||||
|
||||
membreService.desactiverMembre(id);
|
||||
|
||||
assertThat(existing.getActif()).isFalse();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user