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,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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user