using EPAServeur.Context ;
using EPAServeur.Exceptions ;
using EPAServeur.IServices ;
using EPAServeur.Models.Formation ;
using EPAServeur.Services ;
using IO.Swagger.ApiCollaborateur ;
using IO.Swagger.DTO ;
using IO.Swagger.Enum ;
using Microsoft.EntityFrameworkCore ;
using NUnit.Framework ;
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Threading.Tasks ;
namespace EPAServeur.Tests.Services
{
[TestFixture]
public class ParticipationFormationServiceTests
{
#region Variables
private EpContext epContext ;
private ICollaborateurApi collaborateurApi ;
private ICollaborateurService collaborateurService ;
private ITransformDTO transformDTO ;
# endregion
#region Setup
[SetUp]
public void Setup ( )
{
// Utilisation d'une base de donn<EFBFBD> es en m<EFBFBD> moire
var optionBuider = new DbContextOptionsBuilder < EpContext > ( )
. UseInMemoryDatabase ( "server_ep_test" )
. Options ;
epContext = new EpContext ( optionBuider ) ;
collaborateurApi = new CollaborateurApi ( ) ;
transformDTO = new TransformDTO ( ) ;
collaborateurService = new CollaborateurService ( collaborateurApi , epContext , transformDTO ) ;
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 ;
}
}
# endregion
#region Tests GetEvaluationCollaborateurAsync
[Test]
public async Task GetEvaluationCollaborateurAsync_PasseEnParamUnIdExistantDansLeJeuDeDonneesFictif_RetourneUneEvaluation ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
// Act
EvaluationDTO evaluationDTO = await participationFormationService . GetEvaluationCollaborateurAsync ( idParticipationFormation ) ;
// Assert
Assert . AreEqual ( idParticipationFormation , evaluationDTO . Id ) ;
Assert . AreEqual ( new DateTime ( 2 0 2 0 , 5 , 2 5 , 1 4 , 0 , 0 ) , evaluationDTO . DateDebut ) ;
Assert . True ( evaluationDTO . EstCertifiee ) ;
Assert . AreEqual ( "Apprendre C# et le d<EFBFBD> veloppement de logiciels avec WPF" , evaluationDTO . Intitule ) ;
}
[TestCase(-1)]
[TestCase(0)]
[TestCase(999999)]
public void GetEvaluationCollaborateurAsync_PasseEnParamUnIdInexistantDansLeJeuDeDonneesFictif_LeveUneParticipationFormationNotFoundException ( long idParticipationFormation )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . GetEvaluationCollaborateurAsync ( idParticipationFormation ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationNotFoundException ) , throwException ) ;
}
# endregion
#region Tests GetParticipationsByCollaborateurAsync
[TestCase("842650db-a548-4472-a3af-4c5fff3c1ab8")]
[TestCase("4f3fcd23-a1e4-4c9e-afa2-d06ca9216491")]
public async Task GetParticipationByCollaborateurAsync_PasseDesParamsValides_RetourneDesParticipationsFormations ( Guid idCollaborateur )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
// Act
IEnumerable < ParticipationFormationDTO > participationFormationDTOs = await participationFormationService . GetParticipationsByCollaborateurAsync ( idCollaborateur ) ;
// Assert
Assert . Less ( 0 , participationFormationDTOs . Count ( ) ) ;
}
[TestCase("e7820f92-eab1-42f5-ae96-5c16e71ff1e6")]
[TestCase("b5254c6c-7caa-435f-a4bb-e0cf92559832")]
public async Task GetParticipationByCollaborateurAsync_PasseDesParamsInvalides_RetourneZeroParticipation ( Guid idCollaborateur )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
// Act
IEnumerable < ParticipationFormationDTO > participationFormationDTOs = await participationFormationService . GetParticipationsByCollaborateurAsync ( idCollaborateur ) ;
// Assert
Assert . AreEqual ( 0 , participationFormationDTOs . Count ( ) ) ;
}
# endregion
#region Tests EvaluerFormationAsync
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationValide_EvaluationRealiseeAvecSucces ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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
EvaluationDTO evaluationModifiee = await participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
bool EstEvaluee = await epContext . ParticipationFormation . Where ( p = > p . IdParticipationFormation = = idParticipationFormation ) . Select ( p = > p . EstEvaluee ) . FirstOrDefaultAsync ( ) ;
// Assert
Assert . IsNotNull ( evaluationModifiee ) ;
Assert . True ( EstEvaluee ) ;
Assert . AreEqual ( evaluationDTO . Id , evaluationModifiee . Id ) ;
Assert . AreEqual ( evaluationDTO . Intitule , evaluationModifiee . Intitule ) ;
Assert . AreEqual ( evaluationDTO . Saisies . Count , evaluationModifiee . Saisies . Count ) ;
Assert . AreEqual ( evaluationDTO . DateDebut , evaluationModifiee . DateDebut ) ;
Assert . AreEqual ( evaluationDTO . EstCertifiee , evaluationModifiee . EstCertifiee ) ;
}
[TestCase(null)]
[TestCase("")]
[TestCase(" ")]
public async Task EvaluerFormationAsync_EvaluerUneFormationSansIntitule_LeveUneParticipationFormationInvalidException ( string intitule )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 . Intitule = intitule ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationSansEstCertifiee_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
bool? estCertifiee = null ;
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 . EstCertifiee = estCertifiee ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationSansDateDebut_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
DateTime ? dateDebut = null ;
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 . DateDebut = dateDebut ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationSansSaisie_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 ( ) ;
evaluationDTO . Saisies = null ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecZeroSaisie_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 ( ) ;
evaluationDTO . Saisies = new List < SaisieDTO > ( ) ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecDesSaisiesSansNotesEtUnTypeDeSaisieCompetence_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c2 } ;
SaisieDTO s3 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c3 } ;
SaisieDTO s4 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c4 } ;
SaisieDTO s5 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c5 } ;
SaisieDTO s6 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c6 } ;
SaisieDTO s7 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c7 } ;
SaisieDTO s8 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c8 } ;
SaisieDTO s9 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c9 } ;
SaisieDTO s10 = new SaisieDTO { Note = null , 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
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecDesSaisiesSansNotesEtUnTypeDeSaisieNotation_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 . Notation } ;
SaisieDTO s1 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c1 } ;
SaisieDTO s2 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c2 } ;
SaisieDTO s3 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c3 } ;
SaisieDTO s4 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c4 } ;
SaisieDTO s5 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c5 } ;
SaisieDTO s6 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c6 } ;
SaisieDTO s7 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c7 } ;
SaisieDTO s8 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c8 } ;
SaisieDTO s9 = new SaisieDTO { Note = 5 , Texte = "" , TypeSaisie = TypeSaisie . Competence , Champ = c9 } ;
SaisieDTO s10 = new SaisieDTO { Note = null , Texte = "" , TypeSaisie = TypeSaisie . Notation , 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
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[Test]
public void EvaluerFormationAsync_EvaluerUneFormationAvecUnDTONull_LeveUneParticipationFormationInvalidException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
EvaluationDTO evaluationDTO = null ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationInvalidException ) , throwException ) ;
}
[TestCase(0)]
[TestCase(6)]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecUnIdIncorrecte_LeveUneParticipationFormationIncompatibleIdException ( long idParticipationFormationIncompatible )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormationIncompatible , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationIncompatibleIdException ) , throwException ) ;
}
[TestCase(0)]
[TestCase(6)]
[TestCase(null)]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecUnIdIncorrecteAuNiveauDuDTO_LeveUneParticipationFormationIncompatibleIdException ( long? idParticipationFormationIncompatible )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
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 = idParticipationFormationIncompatible ;
// Act
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormation , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationIncompatibleIdException ) , throwException ) ;
}
[Test]
public async Task EvaluerFormationAsync_EvaluerUneFormationAvecUnIdInexistant_LeveUneParticipationFormationNotFoundException ( )
{
// Arrange
ParticipationFormationService participationFormationService = new ParticipationFormationService ( epContext , collaborateurService , transformDTO ) ;
long idParticipationFormation = 5 ;
long idParticipationFormationInexistant = 0 ;
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
AsyncTestDelegate throwException = ( ) = > participationFormationService . EvaluerFormationAsync ( idParticipationFormationInexistant , evaluationDTO ) ;
// Assert
Assert . ThrowsAsync ( typeof ( ParticipationFormationNotFoundException ) , throwException ) ;
}
# endregion
}
}