parent
cc83dea6d0
commit
7de1183ad4
@ -0,0 +1,438 @@ |
|||||||
|
using EPAServeur.Context; |
||||||
|
using EPAServeur.Exceptions; |
||||||
|
using EPAServeur.Models.Formation; |
||||||
|
using EPAServeur.Services; |
||||||
|
using IO.Swagger.Controllers; |
||||||
|
using IO.Swagger.DTO; |
||||||
|
using Microsoft.AspNetCore.Mvc; |
||||||
|
using Microsoft.EntityFrameworkCore; |
||||||
|
using Microsoft.Extensions.Logging; |
||||||
|
using Microsoft.Extensions.Logging.Abstractions; |
||||||
|
using NUnit.Framework; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using Microsoft.AspNetCore.Hosting; |
||||||
|
using Microsoft.Extensions.Hosting; |
||||||
|
using Microsoft.Extensions.DependencyInjection; |
||||||
|
using EPAServeur.IServices; |
||||||
|
using Moq; |
||||||
|
using IO.Swagger.ApiCollaborateur; |
||||||
|
using IO.Swagger.Enum; |
||||||
|
|
||||||
|
namespace EPAServeur.Tests.Controllers |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class ParticipationFormationApiTests |
||||||
|
{ |
||||||
|
#region Variables |
||||||
|
|
||||||
|
private IParticipationFormationService participationFormationService; |
||||||
|
private Mock<IWebHostEnvironment> mockEnvironment; |
||||||
|
private EpContext epContext; |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Setup |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void Setup() |
||||||
|
{ |
||||||
|
// Création d'une collection de services pour l'injection de dépendance |
||||||
|
var services = new ServiceCollection(); |
||||||
|
|
||||||
|
// Utilisation d'une base de données en mémoire |
||||||
|
var optionBuider = new DbContextOptionsBuilder<EpContext>() |
||||||
|
.UseInMemoryDatabase("server_ep_test") |
||||||
|
.Options; |
||||||
|
|
||||||
|
services.AddDbContext<EpContext>(b => b.UseInMemoryDatabase("server_ep_test")); |
||||||
|
|
||||||
|
epContext = new EpContext(optionBuider); |
||||||
|
|
||||||
|
epContext.Database.EnsureDeleted(); |
||||||
|
epContext.Database.EnsureCreated(); |
||||||
|
epContext.SaveChanges(); |
||||||
|
|
||||||
|
// Ajout du jeu de données pour les tests |
||||||
|
DataSeeder.AddFormations(epContext); |
||||||
|
DataSeeder.AddChamps(epContext); |
||||||
|
|
||||||
|
// Détache les entités du context car la base de données InMemory créé des conflits |
||||||
|
// entre les clés primaires lors d'un Update ou d'un Insert |
||||||
|
foreach (var entity in epContext.ChangeTracker.Entries()) |
||||||
|
{ |
||||||
|
entity.State = EntityState.Detached; |
||||||
|
} |
||||||
|
|
||||||
|
services.AddScoped<ICollaborateurApi, CollaborateurApi>(); |
||||||
|
services.AddScoped<ICollaborateurService, CollaborateurService>(); |
||||||
|
services.AddScoped<IParticipationFormationService, ParticipationFormationService>(); |
||||||
|
|
||||||
|
// Récupère le service qui sera utilsé pour tester le contrôleur |
||||||
|
var serviceProvider = services.BuildServiceProvider(); |
||||||
|
participationFormationService = serviceProvider.GetService<IParticipationFormationService>(); |
||||||
|
|
||||||
|
// Simule l'interface IWebHostEnvironment avec Moq |
||||||
|
mockEnvironment = new Mock<IWebHostEnvironment>(); |
||||||
|
|
||||||
|
mockEnvironment |
||||||
|
.Setup(m => m.EnvironmentName) |
||||||
|
.Returns("Development"); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Tests GetEvaluationCollaborateur |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GetEvaluationCollaborateur_PasseEnParamUnIdInconnu_RetourneUnObjetNotFoundResult() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
long idParticipationFormation = 99999; |
||||||
|
|
||||||
|
// Act |
||||||
|
var notFoundResult = ParticipationsFormationsApiController.GetEvaluationCollaborateur(idParticipationFormation); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<NotFoundObjectResult>(notFoundResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GetEvaluationCollaborateur_PasseEnParamUnIdConnu_RetourneUnObjetOkResult() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
long idParticipationFormation = 5; |
||||||
|
|
||||||
|
// Act |
||||||
|
var okResult = ParticipationsFormationsApiController.GetEvaluationCollaborateur(idParticipationFormation); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<OkObjectResult>(okResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GetEvaluationCollaborateur_PasseEnParamUnIdConnu_RetourneLaBonneEvaluation() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
long idParticipationFormation = 5; |
||||||
|
|
||||||
|
|
||||||
|
// Act |
||||||
|
var okResult = ParticipationsFormationsApiController.GetEvaluationCollaborateur(idParticipationFormation).Result as OkObjectResult; |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<EvaluationDTO>(okResult.Value); |
||||||
|
Assert.AreEqual(idParticipationFormation, (okResult.Value as EvaluationDTO).Id); |
||||||
|
} |
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Tests GetParticipationsByCollaborateur |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GetParticipationByCollaborateur_PasseDesParamsPresentsDansLaBDD_RetourneUnObjetOkResult() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
Guid idCollaborateur = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"); |
||||||
|
|
||||||
|
// Act |
||||||
|
var okResult = ParticipationsFormationsApiController.GetParticipationsByCollaborateur(idCollaborateur); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<OkObjectResult>(okResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void GetParticipationByCollaborateur_PasseDesParamsPresentsDansLaBDD_RetourneLesParticipationsDUnCollaborateur() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
Guid idCollaborateur = Guid.Parse("842650db-a548-4472-a3af-4c5fff3c1ab8"); |
||||||
|
int nbFormation = 1; |
||||||
|
int idFirstParticipationFormation = 5; |
||||||
|
|
||||||
|
// Act |
||||||
|
var okResult = ParticipationsFormationsApiController.GetParticipationsByCollaborateur(idCollaborateur).Result as OkObjectResult; |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<IEnumerable<ParticipationFormationDTO>>(okResult.Value); |
||||||
|
Assert.AreEqual(nbFormation, (okResult.Value as IEnumerable<ParticipationFormationDTO>).Count()); |
||||||
|
Assert.AreEqual(idFirstParticipationFormation, (okResult.Value as IEnumerable<ParticipationFormationDTO>).First().Id); |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
#region Tests EvaluerFormation |
||||||
|
|
||||||
|
[Test] |
||||||
|
public async Task EvaluerFormation_EvaluerUneFormationAvecDesObjetsEnfantsInvalides_RetourneUnObjetObjectResultDansCatchParticipationFormationInvalidException() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
long idParticipationFormation = 5; |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
EvaluationDTO evaluationDTO = await epContext.ParticipationFormation.Include(p => p.Formation) |
||||||
|
.Where(p => p.IdParticipationFormation == idParticipationFormation) |
||||||
|
.Select(p => new EvaluationDTO() |
||||||
|
{ |
||||||
|
Id = p.IdParticipationFormation, |
||||||
|
Intitule = p.Formation.Intitule, |
||||||
|
DateDebut = p.Formation.DateDebut, |
||||||
|
EstCertifiee = p.Formation.EstCertifiee, |
||||||
|
Saisies = new List<SaisieDTO>() |
||||||
|
}).FirstOrDefaultAsync(); |
||||||
|
|
||||||
|
// Act |
||||||
|
var objectResult = ParticipationsFormationsApiController.EvaluerFormation(evaluationDTO, idParticipationFormation); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public async Task EvaluerFormation_EvaluerUneFormationAvecDesObjetsEnfantsInvalides_RetourneUnObjetObjectResultDansCatchParticipationFormationIncompatibleIdException() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
long idParticipationFormation = 5; |
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
EvaluationDTO evaluationDTO = await epContext.ParticipationFormation.Include(p => p.Formation) |
||||||
|
.Where(p => p.IdParticipationFormation == idParticipationFormation) |
||||||
|
.Select(p => new EvaluationDTO() |
||||||
|
{ |
||||||
|
Id = p.IdParticipationFormation, |
||||||
|
Intitule = p.Formation.Intitule, |
||||||
|
DateDebut = p.Formation.DateDebut, |
||||||
|
EstCertifiee = p.Formation.EstCertifiee, |
||||||
|
Saisies = new List<SaisieDTO>() |
||||||
|
}).FirstOrDefaultAsync(); |
||||||
|
|
||||||
|
ChampDTO c1 = new ChampDTO { Id = 35, Section = "Evaluation", Ordre = 0, Texte = "Accueil et organisation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c2 = new ChampDTO { Id = 36, Section = "Evaluation", Ordre = 1, Texte = "Compétences animateur", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c3 = new ChampDTO { Id = 37, Section = "Evaluation", Ordre = 2, Texte = "Pédagogie/Animation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c4 = new ChampDTO { Id = 38, Section = "Evaluation", Ordre = 3, Texte = "Exhaustivité des sujets traités", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c5 = new ChampDTO { Id = 39, Section = "Evaluation", Ordre = 4, Texte = "Utilité/Apport de la formation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c6 = new ChampDTO { Id = 40, Section = "Evaluation", Ordre = 5, Texte = "Contenu théorique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c7 = new ChampDTO { Id = 41, Section = "Evaluation", Ordre = 6, Texte = "Contenu pratique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c8 = new ChampDTO { Id = 42, Section = "Evaluation", Ordre = 7, Texte = "Equilibre pratique/théorie", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c9 = new ChampDTO { Id = 43, Section = "Evaluation", Ordre = 8, Texte = "Support de cours", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c10 = new ChampDTO { Id = 44, Section = "Evaluation", Ordre = 9, Texte = "Durée", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
|
||||||
|
SaisieDTO s1 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c1 }; |
||||||
|
SaisieDTO s2 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c2 }; |
||||||
|
SaisieDTO s3 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c3 }; |
||||||
|
SaisieDTO s4 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c4 }; |
||||||
|
SaisieDTO s5 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c5 }; |
||||||
|
SaisieDTO s6 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c6 }; |
||||||
|
SaisieDTO s7 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c7 }; |
||||||
|
SaisieDTO s8 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c8 }; |
||||||
|
SaisieDTO s9 = new SaisieDTO { Note = 3, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c9 }; |
||||||
|
SaisieDTO s10 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c10 }; |
||||||
|
|
||||||
|
evaluationDTO.Saisies.Add(s1); |
||||||
|
evaluationDTO.Saisies.Add(s2); |
||||||
|
evaluationDTO.Saisies.Add(s3); |
||||||
|
evaluationDTO.Saisies.Add(s4); |
||||||
|
evaluationDTO.Saisies.Add(s5); |
||||||
|
evaluationDTO.Saisies.Add(s6); |
||||||
|
evaluationDTO.Saisies.Add(s7); |
||||||
|
evaluationDTO.Saisies.Add(s8); |
||||||
|
evaluationDTO.Saisies.Add(s9); |
||||||
|
evaluationDTO.Saisies.Add(s10); |
||||||
|
|
||||||
|
idParticipationFormation = 1; |
||||||
|
|
||||||
|
// Act |
||||||
|
var objectResult = ParticipationsFormationsApiController.EvaluerFormation(evaluationDTO, idParticipationFormation); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public async Task EvaluerFormation_EvaluerUneFormationInexistante_RetourneUnObjetObjectResultDansCatchParticipationFormationNotFoundExceptionn() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
long idParticipationFormation = 5; |
||||||
|
long idParticipationFormationInexistant = 999; |
||||||
|
|
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
EvaluationDTO evaluationDTO = await epContext.ParticipationFormation.Include(p => p.Formation) |
||||||
|
.Where(p => p.IdParticipationFormation == idParticipationFormation) |
||||||
|
.Select(p => new EvaluationDTO() |
||||||
|
{ |
||||||
|
Id = p.IdParticipationFormation, |
||||||
|
Intitule = p.Formation.Intitule, |
||||||
|
DateDebut = p.Formation.DateDebut, |
||||||
|
EstCertifiee = p.Formation.EstCertifiee, |
||||||
|
Saisies = new List<SaisieDTO>() |
||||||
|
}).FirstOrDefaultAsync(); |
||||||
|
|
||||||
|
ChampDTO c1 = new ChampDTO { Id = 35, Section = "Evaluation", Ordre = 0, Texte = "Accueil et organisation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c2 = new ChampDTO { Id = 36, Section = "Evaluation", Ordre = 1, Texte = "Compétences animateur", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c3 = new ChampDTO { Id = 37, Section = "Evaluation", Ordre = 2, Texte = "Pédagogie/Animation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c4 = new ChampDTO { Id = 38, Section = "Evaluation", Ordre = 3, Texte = "Exhaustivité des sujets traités", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c5 = new ChampDTO { Id = 39, Section = "Evaluation", Ordre = 4, Texte = "Utilité/Apport de la formation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c6 = new ChampDTO { Id = 40, Section = "Evaluation", Ordre = 5, Texte = "Contenu théorique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c7 = new ChampDTO { Id = 41, Section = "Evaluation", Ordre = 6, Texte = "Contenu pratique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c8 = new ChampDTO { Id = 42, Section = "Evaluation", Ordre = 7, Texte = "Equilibre pratique/théorie", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c9 = new ChampDTO { Id = 43, Section = "Evaluation", Ordre = 8, Texte = "Support de cours", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c10 = new ChampDTO { Id = 44, Section = "Evaluation", Ordre = 9, Texte = "Durée", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
|
||||||
|
SaisieDTO s1 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c1 }; |
||||||
|
SaisieDTO s2 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c2 }; |
||||||
|
SaisieDTO s3 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c3 }; |
||||||
|
SaisieDTO s4 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c4 }; |
||||||
|
SaisieDTO s5 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c5 }; |
||||||
|
SaisieDTO s6 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c6 }; |
||||||
|
SaisieDTO s7 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c7 }; |
||||||
|
SaisieDTO s8 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c8 }; |
||||||
|
SaisieDTO s9 = new SaisieDTO { Note = 3, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c9 }; |
||||||
|
SaisieDTO s10 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c10 }; |
||||||
|
|
||||||
|
evaluationDTO.Saisies.Add(s1); |
||||||
|
evaluationDTO.Saisies.Add(s2); |
||||||
|
evaluationDTO.Saisies.Add(s3); |
||||||
|
evaluationDTO.Saisies.Add(s4); |
||||||
|
evaluationDTO.Saisies.Add(s5); |
||||||
|
evaluationDTO.Saisies.Add(s6); |
||||||
|
evaluationDTO.Saisies.Add(s7); |
||||||
|
evaluationDTO.Saisies.Add(s8); |
||||||
|
evaluationDTO.Saisies.Add(s9); |
||||||
|
evaluationDTO.Saisies.Add(s10); |
||||||
|
|
||||||
|
evaluationDTO.Id = idParticipationFormationInexistant; |
||||||
|
|
||||||
|
// Act |
||||||
|
var objectResult = ParticipationsFormationsApiController.EvaluerFormation(evaluationDTO, idParticipationFormationInexistant); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<ObjectResult>(objectResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public async Task EvaluerFormation_EvaluerUneFormationValide_RetourneUnObjetOkObjectResult() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
long idParticipationFormation = 5; |
||||||
|
|
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
EvaluationDTO evaluationDTO = await epContext.ParticipationFormation.Include(p => p.Formation) |
||||||
|
.Where(p => p.IdParticipationFormation == idParticipationFormation) |
||||||
|
.Select(p => new EvaluationDTO() |
||||||
|
{ |
||||||
|
Id = p.IdParticipationFormation, |
||||||
|
Intitule = p.Formation.Intitule, |
||||||
|
DateDebut = p.Formation.DateDebut, |
||||||
|
EstCertifiee = p.Formation.EstCertifiee, |
||||||
|
Saisies = new List<SaisieDTO>() |
||||||
|
}).FirstOrDefaultAsync(); |
||||||
|
|
||||||
|
ChampDTO c1 = new ChampDTO { Id = 35, Section = "Evaluation", Ordre = 0, Texte = "Accueil et organisation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c2 = new ChampDTO { Id = 36, Section = "Evaluation", Ordre = 1, Texte = "Compétences animateur", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c3 = new ChampDTO { Id = 37, Section = "Evaluation", Ordre = 2, Texte = "Pédagogie/Animation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c4 = new ChampDTO { Id = 38, Section = "Evaluation", Ordre = 3, Texte = "Exhaustivité des sujets traités", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c5 = new ChampDTO { Id = 39, Section = "Evaluation", Ordre = 4, Texte = "Utilité/Apport de la formation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c6 = new ChampDTO { Id = 40, Section = "Evaluation", Ordre = 5, Texte = "Contenu théorique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c7 = new ChampDTO { Id = 41, Section = "Evaluation", Ordre = 6, Texte = "Contenu pratique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c8 = new ChampDTO { Id = 42, Section = "Evaluation", Ordre = 7, Texte = "Equilibre pratique/théorie", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c9 = new ChampDTO { Id = 43, Section = "Evaluation", Ordre = 8, Texte = "Support de cours", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c10 = new ChampDTO { Id = 44, Section = "Evaluation", Ordre = 9, Texte = "Durée", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
|
||||||
|
SaisieDTO s1 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c1 }; |
||||||
|
SaisieDTO s2 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c2 }; |
||||||
|
SaisieDTO s3 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c3 }; |
||||||
|
SaisieDTO s4 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c4 }; |
||||||
|
SaisieDTO s5 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c5 }; |
||||||
|
SaisieDTO s6 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c6 }; |
||||||
|
SaisieDTO s7 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c7 }; |
||||||
|
SaisieDTO s8 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c8 }; |
||||||
|
SaisieDTO s9 = new SaisieDTO { Note = 3, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c9 }; |
||||||
|
SaisieDTO s10 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c10 }; |
||||||
|
|
||||||
|
evaluationDTO.Saisies.Add(s1); |
||||||
|
evaluationDTO.Saisies.Add(s2); |
||||||
|
evaluationDTO.Saisies.Add(s3); |
||||||
|
evaluationDTO.Saisies.Add(s4); |
||||||
|
evaluationDTO.Saisies.Add(s5); |
||||||
|
evaluationDTO.Saisies.Add(s6); |
||||||
|
evaluationDTO.Saisies.Add(s7); |
||||||
|
evaluationDTO.Saisies.Add(s8); |
||||||
|
evaluationDTO.Saisies.Add(s9); |
||||||
|
evaluationDTO.Saisies.Add(s10); |
||||||
|
|
||||||
|
// Act |
||||||
|
var okObjectResult = ParticipationsFormationsApiController.EvaluerFormation(evaluationDTO, idParticipationFormation); |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<OkObjectResult>(okObjectResult.Result); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public async Task EvaluerFormation_EvaluerUneFormationValide_RetourneLEvaluationEvaluee() |
||||||
|
{ |
||||||
|
// Arrange |
||||||
|
long idParticipationFormation = 5; |
||||||
|
|
||||||
|
ParticipationsFormationsApiController ParticipationsFormationsApiController = new ParticipationsFormationsApiController(participationFormationService, new NullLogger<ParticipationsFormationsApiController>(), mockEnvironment.Object); |
||||||
|
EvaluationDTO evaluationDTO = await epContext.ParticipationFormation.Include(p => p.Formation) |
||||||
|
.Where(p => p.IdParticipationFormation == idParticipationFormation) |
||||||
|
.Select(p => new EvaluationDTO() |
||||||
|
{ |
||||||
|
Id = p.IdParticipationFormation, |
||||||
|
Intitule = p.Formation.Intitule, |
||||||
|
DateDebut = p.Formation.DateDebut, |
||||||
|
EstCertifiee = p.Formation.EstCertifiee, |
||||||
|
Saisies = new List<SaisieDTO>() |
||||||
|
}).FirstOrDefaultAsync(); |
||||||
|
|
||||||
|
ChampDTO c1 = new ChampDTO { Id = 35, Section = "Evaluation", Ordre = 0, Texte = "Accueil et organisation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c2 = new ChampDTO { Id = 36, Section = "Evaluation", Ordre = 1, Texte = "Compétences animateur", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c3 = new ChampDTO { Id = 37, Section = "Evaluation", Ordre = 2, Texte = "Pédagogie/Animation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c4 = new ChampDTO { Id = 38, Section = "Evaluation", Ordre = 3, Texte = "Exhaustivité des sujets traités", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c5 = new ChampDTO { Id = 39, Section = "Evaluation", Ordre = 4, Texte = "Utilité/Apport de la formation", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c6 = new ChampDTO { Id = 40, Section = "Evaluation", Ordre = 5, Texte = "Contenu théorique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c7 = new ChampDTO { Id = 41, Section = "Evaluation", Ordre = 6, Texte = "Contenu pratique", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c8 = new ChampDTO { Id = 42, Section = "Evaluation", Ordre = 7, Texte = "Equilibre pratique/théorie", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c9 = new ChampDTO { Id = 43, Section = "Evaluation", Ordre = 8, Texte = "Support de cours", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
ChampDTO c10 = new ChampDTO { Id = 44, Section = "Evaluation", Ordre = 9, Texte = "Durée", TypeChamp = TypeChamps.Evaluation, TypeSaisie = TypeSaisie.Competence }; |
||||||
|
|
||||||
|
SaisieDTO s1 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c1 }; |
||||||
|
SaisieDTO s2 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c2 }; |
||||||
|
SaisieDTO s3 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c3 }; |
||||||
|
SaisieDTO s4 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c4 }; |
||||||
|
SaisieDTO s5 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c5 }; |
||||||
|
SaisieDTO s6 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c6 }; |
||||||
|
SaisieDTO s7 = new SaisieDTO { Note = 4, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c7 }; |
||||||
|
SaisieDTO s8 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c8 }; |
||||||
|
SaisieDTO s9 = new SaisieDTO { Note = 3, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c9 }; |
||||||
|
SaisieDTO s10 = new SaisieDTO { Note = 5, Texte = "", TypeSaisie = TypeSaisie.Competence, Champ = c10 }; |
||||||
|
|
||||||
|
evaluationDTO.Saisies.Add(s1); |
||||||
|
evaluationDTO.Saisies.Add(s2); |
||||||
|
evaluationDTO.Saisies.Add(s3); |
||||||
|
evaluationDTO.Saisies.Add(s4); |
||||||
|
evaluationDTO.Saisies.Add(s5); |
||||||
|
evaluationDTO.Saisies.Add(s6); |
||||||
|
evaluationDTO.Saisies.Add(s7); |
||||||
|
evaluationDTO.Saisies.Add(s8); |
||||||
|
evaluationDTO.Saisies.Add(s9); |
||||||
|
evaluationDTO.Saisies.Add(s10); |
||||||
|
|
||||||
|
|
||||||
|
// Act |
||||||
|
var okObjectResult = ParticipationsFormationsApiController.EvaluerFormation(evaluationDTO, idParticipationFormation).Result as OkObjectResult; |
||||||
|
|
||||||
|
// Assert |
||||||
|
Assert.IsInstanceOf<EvaluationDTO>(okObjectResult.Value); |
||||||
|
Assert.AreEqual(idParticipationFormation, (okObjectResult.Value as EvaluationDTO).Id); |
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue