Tests effectués pour la partie ParticipationFormation

develop
jboinembalome 4 years ago
parent 28c4a95eb5
commit e8d4bb2961
  1. 29
      EPAServeur.Tests/Services/FormationServiceTests.cs
  2. 30
      EPAServeur/Services/FormationService.cs

@ -80,6 +80,33 @@ namespace EPAServeur.Tests.Services
Assert.AreEqual(new TypeFormationDTO { Id = 3, Libelle = "E-learning" }, formationDTO.Type); Assert.AreEqual(new TypeFormationDTO { Id = 3, Libelle = "E-learning" }, formationDTO.Type);
} }
[Test]
public async Task GetFormationByIdAsync_PasseEnParamUnIdExistantDansLeJeuDeDonneesFictif_RetourneUneFormationSansParticipation()
{
// Arrange
FormationService formationService = new FormationService(epContext, collaborateurService);
long idFormation = 11;
// Act
FormationDTO formationDTO = await formationService.GetFormationByIdAsync(idFormation);
// Assert
Assert.AreEqual(idFormation, formationDTO.Id);
Assert.AreEqual("Formation Clean Architecture .Net Core", formationDTO.Intitule);
Assert.AreEqual(1, formationDTO.IdAgence);
Assert.AreEqual(new DateTime(2020, 04, 6, 9, 0, 0), formationDTO.DateDebut);
Assert.AreEqual(new DateTime(2020, 04, 11), formationDTO.DateFin);
Assert.AreEqual(15, formationDTO.Heure);
Assert.AreEqual(5, formationDTO.Jour);
Assert.AreEqual("Organisme1", formationDTO.Organisme);
Assert.False(formationDTO.EstCertifiee);
Assert.IsNull(formationDTO.Participations);
Assert.AreEqual(new OrigineFormationDTO { Id = 4, Libelle = "Formation réglementaire" }, formationDTO.Origine);
Assert.AreEqual(new StatutFormationDTO { Id = 4, Libelle = "Annulée" }, formationDTO.Statut);
Assert.AreEqual(new ModeFormationDTO { Id = 3, Libelle = "Présentiel" }, formationDTO.Mode);
Assert.AreEqual(new TypeFormationDTO { Id = 2, Libelle = "Interne" }, formationDTO.Type);
}
[TestCase(-1)] [TestCase(-1)]
[TestCase(0)] [TestCase(0)]
[TestCase(999999)] [TestCase(999999)]
@ -172,6 +199,7 @@ namespace EPAServeur.Tests.Services
[TestCase(true, "intitule")] [TestCase(true, "intitule")]
[TestCase(true, null)] [TestCase(true, null)]
[TestCase(true, "toto")]
public async Task GetFormationsAsync_PasseEnParamAscEtTri_RetourneDesFormationsOrdonnanceeParIntituleCroissant(bool? asc, string tri) public async Task GetFormationsAsync_PasseEnParamAscEtTri_RetourneDesFormationsOrdonnanceeParIntituleCroissant(bool? asc, string tri)
{ {
// Arrange // Arrange
@ -188,6 +216,7 @@ namespace EPAServeur.Tests.Services
[TestCase(false, "intitule")] [TestCase(false, "intitule")]
[TestCase(false, null)] [TestCase(false, null)]
[TestCase(false, "toto")]
public async Task GetFormationsAsync_PasseEnParamAscEtTri_RetourneDesFormationsOrdonnanceeParIntituleDecroissant(bool? asc, string tri) public async Task GetFormationsAsync_PasseEnParamAscEtTri_RetourneDesFormationsOrdonnanceeParIntituleDecroissant(bool? asc, string tri)
{ {
// Arrange // Arrange

@ -86,10 +86,8 @@ namespace EPAServeur.Services
.FirstOrDefaultAsync(formation => formation.IdFormation == idFormation); .FirstOrDefaultAsync(formation => formation.IdFormation == idFormation);
if (formation == null) if (formation == null)
throw new FormationNotFoundException(string.Format("Aucune formation trouvée avec l'id suivant: {0}.",idFormation)); throw new FormationNotFoundException(string.Format("Aucune formation trouvée avec l'id suivant: {0}.", idFormation));
if (formation.ParticipationsFormation.Count == 0)
return GetFormationDTO(formation);
IEnumerable<CollaborateurDTO> collaborateurDTOs = await GetCollaborateurDTOs(formation.ParticipationsFormation); IEnumerable<CollaborateurDTO> collaborateurDTOs = await GetCollaborateurDTOs(formation.ParticipationsFormation);
@ -666,7 +664,7 @@ namespace EPAServeur.Services
} }
/// <summary> /// <summary>
/// Récuperer une liste de CollaborateurDTO contenant les collaborateurs et les référents /// Récuperer une liste de CollaborateurDTO contenant les collaborateurs et les référents. Retourne null s'il n'y a aucune participation.
/// </summary> /// </summary>
/// <param name="typeFormation"></param> /// <param name="typeFormation"></param>
/// <returns></returns> /// <returns></returns>
@ -681,7 +679,7 @@ namespace EPAServeur.Services
} }
/// <summary> /// <summary>
/// Récuperer une liste de ParticipationFormationDTO en fonction d'une liste de ParticipationFormation et d'une liste de CollaborateurDTO /// Récuperer une liste de ParticipationFormationDTO en fonction d'une liste de ParticipationFormation et d'une liste de CollaborateurDTO. Retourne null s'il n'y a aucune participation ou aucun collaborateur.
/// </summary> /// </summary>
/// <param name="typeFormation"></param> /// <param name="typeFormation"></param>
/// <returns></returns> /// <returns></returns>
@ -727,17 +725,7 @@ namespace EPAServeur.Services
/// <returns></returns> /// <returns></returns>
private CollaborateurDTO GetCollaborateurDTO(ParticipationFormation participationFormation, IEnumerable<CollaborateurDTO> collaborateurDTOs) private CollaborateurDTO GetCollaborateurDTO(ParticipationFormation participationFormation, IEnumerable<CollaborateurDTO> collaborateurDTOs)
{ {
CollaborateurDTO collaborateur; return collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == participationFormation.DemandeFormation.Ep.IdCollaborateur);
if (participationFormation == null)
return null;
if (collaborateurDTOs == null || !collaborateurDTOs.Any())
collaborateur = null;
else
collaborateur = collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == participationFormation.DemandeFormation.Ep.IdCollaborateur);
return collaborateur;
} }
/// <summary> /// <summary>
@ -750,19 +738,9 @@ namespace EPAServeur.Services
CollaborateurDTO collaborateur; CollaborateurDTO collaborateur;
CollaborateurDTO referent; CollaborateurDTO referent;
if (ep == null)
return null;
if (collaborateurDTOs == null || !collaborateurDTOs.Any())
{
collaborateur = null;
referent = null;
}
else
{
collaborateur = collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == ep.IdCollaborateur); collaborateur = collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == ep.IdCollaborateur);
referent = collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == ep.IdReferent); referent = collaborateurDTOs.FirstOrDefault(collaborateurDTO => collaborateurDTO.Id == ep.IdReferent);
}
EpInformationDTO epInformationDTO = new EpInformationDTO() EpInformationDTO epInformationDTO = new EpInformationDTO()
{ {

Loading…
Cancel
Save