Sync: code local unifié

Synchronisation du code source local (fait foi).

Signed-off-by: lions dev Team
This commit is contained in:
dahoud
2026-03-15 16:25:40 +00:00
parent e82dc356f3
commit 75a19988b0
730 changed files with 53599 additions and 13145 deletions

View File

@@ -0,0 +1,91 @@
package dev.lions.unionflow.server.service.vote;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import dev.lions.unionflow.server.api.dto.vote.CampagneVoteRequest;
import dev.lions.unionflow.server.api.dto.vote.CampagneVoteResponse;
import dev.lions.unionflow.server.api.dto.vote.CandidatDTO;
import dev.lions.unionflow.server.api.enums.vote.StatutVote;
import dev.lions.unionflow.server.entity.Organisation;
import dev.lions.unionflow.server.entity.vote.CampagneVote;
import dev.lions.unionflow.server.entity.vote.Candidat;
import dev.lions.unionflow.server.mapper.vote.CampagneVoteMapper;
import dev.lions.unionflow.server.mapper.vote.CandidatMapper;
import dev.lions.unionflow.server.repository.OrganisationRepository;
import dev.lions.unionflow.server.repository.vote.CampagneVoteRepository;
import dev.lions.unionflow.server.repository.vote.CandidatRepository;
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 CampagneVoteServiceTest {
@Inject
CampagneVoteService service;
@InjectMock
CampagneVoteRepository repository;
@InjectMock
CandidatRepository candidatRepository;
@InjectMock
OrganisationRepository organisationRepository;
@InjectMock
CampagneVoteMapper mapper;
@InjectMock
CandidatMapper candidatMapper;
@Test
@DisplayName("creerCampagne initialise le statut à BROUILLON")
void creerCampagne_success() {
UUID orgId = UUID.randomUUID();
CampagneVoteRequest request = new CampagneVoteRequest();
request.setOrganisationId(orgId.toString());
Organisation org = new Organisation();
org.setId(orgId);
CampagneVote entity = new CampagneVote();
CampagneVoteResponse responseDto = new CampagneVoteResponse();
when(organisationRepository.findByIdOptional(orgId)).thenReturn(Optional.of(org));
when(mapper.toEntity(request)).thenReturn(entity);
when(mapper.toDto(entity)).thenReturn(responseDto);
service.creerCampagne(request);
assertThat(entity.getStatut()).isEqualTo(StatutVote.BROUILLON);
assertThat(entity.getOrganisation()).isEqualTo(org);
verify(repository).persist(any(CampagneVote.class));
}
@Test
@DisplayName("ajouterCandidat lie le candidat à la campagne")
void ajouterCandidat_success() {
UUID campagneId = UUID.randomUUID();
CampagneVote campagne = new CampagneVote();
campagne.setId(campagneId);
CandidatDTO dto = new CandidatDTO();
Candidat entity = new Candidat();
when(repository.findByIdOptional(campagneId)).thenReturn(Optional.of(campagne));
when(candidatMapper.toEntity(dto)).thenReturn(entity);
when(candidatMapper.toDto(entity)).thenReturn(dto);
service.ajouterCandidat(campagneId, dto);
assertThat(entity.getCampagneVote()).isEqualTo(campagne);
verify(candidatRepository).persist(any(Candidat.class));
}
}