Refactoring - Version stable
This commit is contained in:
@@ -246,6 +246,50 @@ class MembreServiceTest {
|
||||
}
|
||||
}
|
||||
|
||||
// =========================================================================
|
||||
// promouvoirAdminOrganisation
|
||||
// =========================================================================
|
||||
|
||||
@Nested
|
||||
@DisplayName("promouvoirAdminOrganisation")
|
||||
class PromouvoirAdminOrganisationTests {
|
||||
|
||||
@Test
|
||||
@DisplayName("Happy path: membre promu → ACTIF + actif=true immédiatement")
|
||||
void promouvoirAdminOrganisation_setsActifImmediately() {
|
||||
UUID id = UUID.randomUUID();
|
||||
Membre membre = new Membre();
|
||||
membre.setId(id);
|
||||
membre.setEmail("future-admin@unionflow.dev");
|
||||
membre.setNom("Admin");
|
||||
membre.setPrenom("New");
|
||||
membre.setStatutCompte("EN_ATTENTE_VALIDATION");
|
||||
membre.setActif(false);
|
||||
|
||||
when(membreRepository.findByIdOptional(id)).thenReturn(Optional.of(membre));
|
||||
doNothing().when(membreRepository).persist(any(Membre.class));
|
||||
|
||||
Membre result = membreService.promouvoirAdminOrganisation(id);
|
||||
|
||||
assertThat(result.getStatutCompte()).isEqualTo("ACTIF");
|
||||
assertThat(result.getActif()).isTrue();
|
||||
verify(membreRepository).persist(membre);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Membre introuvable: lève NotFoundException")
|
||||
void promouvoirAdminOrganisation_notFound_throws() {
|
||||
UUID id = UUID.randomUUID();
|
||||
when(membreRepository.findByIdOptional(id)).thenReturn(Optional.empty());
|
||||
|
||||
assertThatThrownBy(() -> membreService.promouvoirAdminOrganisation(id))
|
||||
.isInstanceOf(jakarta.ws.rs.NotFoundException.class)
|
||||
.hasMessageContaining("non trouvé");
|
||||
|
||||
verify(membreRepository, never()).persist(any(Membre.class));
|
||||
}
|
||||
}
|
||||
|
||||
// =========================================================================
|
||||
// mettreAJourMembre
|
||||
// =========================================================================
|
||||
|
||||
Reference in New Issue
Block a user