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<EFBFBD> ation d'une collection de services pour l'injection de d<EFBFBD> pendance
var services = new ServiceCollection ( ) ;
// Utilisation d'une base de donn<EFBFBD> es en m<EFBFBD> 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<EFBFBD> es pour les tests
DataSeeder . AddFormations ( epContext ) ;
DataSeeder . AddChamps ( epContext ) ;
// D<EFBFBD> tache les entit<EFBFBD> s du context car la base de donn<EFBFBD> es InMemory cr<EFBFBD> <EFBFBD> des conflits
// entre les cl<EFBFBD> s primaires lors d'un Update ou d'un Insert
foreach ( var entity in epContext . ChangeTracker . Entries ( ) )
{
entity . State = EntityState . Detached ;
}
services . AddScoped < ITransformDTO , TransformDTO > ( ) ;
services . AddScoped < ICollaborateurApi , CollaborateurApi > ( ) ;
services . AddScoped < ICollaborateurService , CollaborateurService > ( ) ;
services . AddScoped < IParticipationFormationService , ParticipationFormationService > ( ) ;
// R<EFBFBD> cup<EFBFBD> re le service qui sera utils<EFBFBD> pour tester le contr<EFBFBD> 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 = 9 9 9 9 9 ;
// 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 = 3 5 , Section = "Evaluation" , Ordre = 0 , Texte = "Accueil et organisation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c2 = new ChampDTO { Id = 3 6 , Section = "Evaluation" , Ordre = 1 , Texte = "Comp<EFBFBD> tences animateur" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c3 = new ChampDTO { Id = 3 7 , Section = "Evaluation" , Ordre = 2 , Texte = "P<EFBFBD> dagogie/Animation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c4 = new ChampDTO { Id = 3 8 , Section = "Evaluation" , Ordre = 3 , Texte = "Exhaustivit<EFBFBD> des sujets trait<EFBFBD> s" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c5 = new ChampDTO { Id = 3 9 , Section = "Evaluation" , Ordre = 4 , Texte = "Utilit<EFBFBD> /Apport de la formation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c6 = new ChampDTO { Id = 4 0 , Section = "Evaluation" , Ordre = 5 , Texte = "Contenu th<EFBFBD> orique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c7 = new ChampDTO { Id = 4 1 , Section = "Evaluation" , Ordre = 6 , Texte = "Contenu pratique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c8 = new ChampDTO { Id = 4 2 , Section = "Evaluation" , Ordre = 7 , Texte = "Equilibre pratique/th<EFBFBD> orie" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c9 = new ChampDTO { Id = 4 3 , Section = "Evaluation" , Ordre = 8 , Texte = "Support de cours" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c10 = new ChampDTO { Id = 4 4 , Section = "Evaluation" , Ordre = 9 , Texte = "Dur<EFBFBD> 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 = 9 9 9 ;
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 = 3 5 , Section = "Evaluation" , Ordre = 0 , Texte = "Accueil et organisation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c2 = new ChampDTO { Id = 3 6 , Section = "Evaluation" , Ordre = 1 , Texte = "Comp<EFBFBD> tences animateur" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c3 = new ChampDTO { Id = 3 7 , Section = "Evaluation" , Ordre = 2 , Texte = "P<EFBFBD> dagogie/Animation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c4 = new ChampDTO { Id = 3 8 , Section = "Evaluation" , Ordre = 3 , Texte = "Exhaustivit<EFBFBD> des sujets trait<EFBFBD> s" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c5 = new ChampDTO { Id = 3 9 , Section = "Evaluation" , Ordre = 4 , Texte = "Utilit<EFBFBD> /Apport de la formation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c6 = new ChampDTO { Id = 4 0 , Section = "Evaluation" , Ordre = 5 , Texte = "Contenu th<EFBFBD> orique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c7 = new ChampDTO { Id = 4 1 , Section = "Evaluation" , Ordre = 6 , Texte = "Contenu pratique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c8 = new ChampDTO { Id = 4 2 , Section = "Evaluation" , Ordre = 7 , Texte = "Equilibre pratique/th<EFBFBD> orie" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c9 = new ChampDTO { Id = 4 3 , Section = "Evaluation" , Ordre = 8 , Texte = "Support de cours" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c10 = new ChampDTO { Id = 4 4 , Section = "Evaluation" , Ordre = 9 , Texte = "Dur<EFBFBD> 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 = 3 5 , Section = "Evaluation" , Ordre = 0 , Texte = "Accueil et organisation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c2 = new ChampDTO { Id = 3 6 , Section = "Evaluation" , Ordre = 1 , Texte = "Comp<EFBFBD> tences animateur" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c3 = new ChampDTO { Id = 3 7 , Section = "Evaluation" , Ordre = 2 , Texte = "P<EFBFBD> dagogie/Animation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c4 = new ChampDTO { Id = 3 8 , Section = "Evaluation" , Ordre = 3 , Texte = "Exhaustivit<EFBFBD> des sujets trait<EFBFBD> s" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c5 = new ChampDTO { Id = 3 9 , Section = "Evaluation" , Ordre = 4 , Texte = "Utilit<EFBFBD> /Apport de la formation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c6 = new ChampDTO { Id = 4 0 , Section = "Evaluation" , Ordre = 5 , Texte = "Contenu th<EFBFBD> orique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c7 = new ChampDTO { Id = 4 1 , Section = "Evaluation" , Ordre = 6 , Texte = "Contenu pratique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c8 = new ChampDTO { Id = 4 2 , Section = "Evaluation" , Ordre = 7 , Texte = "Equilibre pratique/th<EFBFBD> orie" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c9 = new ChampDTO { Id = 4 3 , Section = "Evaluation" , Ordre = 8 , Texte = "Support de cours" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c10 = new ChampDTO { Id = 4 4 , Section = "Evaluation" , Ordre = 9 , Texte = "Dur<EFBFBD> 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 = 3 5 , Section = "Evaluation" , Ordre = 0 , Texte = "Accueil et organisation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c2 = new ChampDTO { Id = 3 6 , Section = "Evaluation" , Ordre = 1 , Texte = "Comp<EFBFBD> tences animateur" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c3 = new ChampDTO { Id = 3 7 , Section = "Evaluation" , Ordre = 2 , Texte = "P<EFBFBD> dagogie/Animation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c4 = new ChampDTO { Id = 3 8 , Section = "Evaluation" , Ordre = 3 , Texte = "Exhaustivit<EFBFBD> des sujets trait<EFBFBD> s" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c5 = new ChampDTO { Id = 3 9 , Section = "Evaluation" , Ordre = 4 , Texte = "Utilit<EFBFBD> /Apport de la formation" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c6 = new ChampDTO { Id = 4 0 , Section = "Evaluation" , Ordre = 5 , Texte = "Contenu th<EFBFBD> orique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c7 = new ChampDTO { Id = 4 1 , Section = "Evaluation" , Ordre = 6 , Texte = "Contenu pratique" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c8 = new ChampDTO { Id = 4 2 , Section = "Evaluation" , Ordre = 7 , Texte = "Equilibre pratique/th<EFBFBD> orie" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c9 = new ChampDTO { Id = 4 3 , Section = "Evaluation" , Ordre = 8 , Texte = "Support de cours" , TypeChamp = TypeChamps . Evaluation , TypeSaisie = TypeSaisie . Competence } ;
ChampDTO c10 = new ChampDTO { Id = 4 4 , Section = "Evaluation" , Ordre = 9 , Texte = "Dur<EFBFBD> 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
}
}