public void GESTVAE017b() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); //Lock du candidat sur POSTE1 VM.CurrentCandidat = VM.lstCandidatVM[0]; // Le candidat a obtenu le diplome Assert.IsFalse(VM.CurrentCandidat.IsCAFDES); VM.LockCurrentCandidat(); VM.AjouteL1(); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); VM.AjouteL2(); // Decision = Favorable DateValidité > Now VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(-1); VM.ValideretQuitterL2(); // Le candidat a obtenu le diplome Assert.IsTrue(VM.CurrentCandidat.IsCAFDES); }//GestVAE017b
public void TestCreationL2() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCand = VM.CurrentCandidat; VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)oCand.CurrentLivret; oL1.EtatLivret = String.Format("{0:D}-Recu complet", MyEnums.EtatL1.ETAT_L1_RECU_COMPLET); oL1.FTO_SetDecisionJuryL1Favorable(); VM.ValideretQuitterL1(); Assert.AreEqual(1, oCand.lstLivrets.Count); oL1 = (Livret1VM)oCand.CurrentLivret; oL1.IsCNIOK = true; oL1.DateValiditeCNI = new DateTime(2020, 01, 01); oL1.IsEnregistre = true; oL1.IsPaye = true; VM.AjouteL2(); VM.ValideretQuitterL2(); Assert.AreEqual(2, oCand.lstLivrets.Count); Livret2VM oL2 = (Livret2VM)oCand.lstLivrets[1]; Assert.AreEqual(oL1.IsCNIOK, oL2.IsCNIOK); Assert.AreEqual(oL1.DateValiditeCNI, oL2.DateValiditeCNI); Assert.AreEqual(false, oL2.IsEnregistre); Assert.AreEqual(false, oL2.IsPaye); }
public void GESTVAE020() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); //Lock du candidat sur POSTE1 VM.CurrentCandidat = VM.lstCandidatVM[0]; // Le candidat a obtenu le diplome Assert.IsFalse(VM.CurrentCandidat.IsCAFDES); VM.LockCurrentCandidat(); VM.AjouteL1(); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; // Tous les DC sont a Valider foreach (DCLivretVM item in oL2.lstDCLivret) { item.IsAValider = true; } // Decision = Validation Partielle > Now VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2Partielle(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); oL2.lstDCLivretAValider[0].Decision = String.Format("{0:D}-Favorable", MyEnums.DecisionJuryL2.DECISION_L2_FAVORABLE); oL2.lstDCLivretAValider[1].Decision = String.Format("{0:D}-Défavorable", MyEnums.DecisionJuryL2.DECISION_L2_DEFAVORABLE); oL2.lstDCLivretAValider[2].Decision = String.Format("{0:D}-Favorable", MyEnums.DecisionJuryL2.DECISION_L2_FAVORABLE); oL2.lstDCLivretAValider[3].Decision = String.Format("{0:D}-Défavorable", MyEnums.DecisionJuryL2.DECISION_L2_DEFAVORABLE); VM.ValideretQuitterL2(); // Le candidat n'a pas obtenu le diplome DiplomeCandVM oDip = VM.CurrentCandidat.getDiplomeCand(oL2); Assert.IsNotNull(oDip); Assert.AreEqual("Validé Partiellement", oDip.StatutDiplome); Assert.AreEqual("Validé", oDip.lstDCCands[0].Statut); Assert.AreEqual("Refusé", oDip.lstDCCands[1].Statut); Assert.AreEqual("Validé", oDip.lstDCCands[2].Statut); Assert.AreEqual("Refusé", oDip.lstDCCands[3].Statut); }//GestVAE020
public void GESTVAE019() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); //Lock du candidat sur POSTE1 VM.CurrentCandidat = VM.lstCandidatVM[0]; // Le candidat a obtenu le diplome Assert.IsFalse(VM.CurrentCandidat.IsCAFDES); VM.LockCurrentCandidat(); VM.AjouteL1(); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; // Tous les DC sont a Valider foreach (DCLivretVM item in oL2.lstDCLivret) { item.IsAValider = true; } // Decision = Validation Partielle > Now VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2Partielle(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(-1); oL2.lstDCLivret[0].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[1].Decision = oL2.DecisionL2ModuleDeFavorable; oL2.lstDCLivret[2].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[3].Decision = oL2.DecisionL2ModuleDeFavorable; VM.ValideretQuitterL2(); // Le candidat n'a pas obtenu le diplome DiplomeCandVM oDip = VM.CurrentCandidat.getDiplomeCand(oL2); Assert.IsNotNull(oDip); Assert.AreEqual("Validé Partiellement", oDip.StatutDiplome); }//GestVAE019
public void GESTVAE021() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); //Lock du candidat sur POSTE1 VM.CurrentCandidat = VM.lstCandidatVM[0]; // Le candidat n'a pas obtenu le diplome Assert.IsFalse(VM.CurrentCandidat.IsCAFDES); VM.LockCurrentCandidat(); VM.AjouteL1(); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); VM.AjouteL2(); Assert.IsTrue(VM.CurrentCandidat.IsCAFDES); // Decision = Validation Partielle > Now Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); //Saisie du numéro de diplome oL2.DateJury = DateTime.Now.AddDays(-1); // oL2.NumeroDiplome = "123546"; Assert.IsTrue(VM.CurrentCandidat.IsCAFDES); VM.ValideretQuitterL2(); Assert.IsTrue(VM.CurrentCandidat.IsCAFDES); // Le candidat a obtenu le diplome DiplomeCandVM oDip = VM.CurrentCandidat.getDiplomeCand(oL2); Assert.IsNotNull(oDip); Assert.AreEqual(oL2.DateJury, oDip.DateObtentionDiplome); }//GestVAE021
public void TestDatePrevionnelleJury() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCand = VM.CurrentCandidat; VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)oCand.CurrentLivret; oL1.FTO_SetDecisionJuryL1Favorable(); VM.ValideretQuitterL1(); VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; oL2.DatePrevJury1 = DateTime.Today; Assert.AreEqual(DateTime.Today.AddDays(1), oL2.DatePrevJury2); }
public void TestchgmtDateValiditesurdatenotifJury() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCand = VM.CurrentCandidat; VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)oCand.CurrentLivret; oL1.DateValidite = DateTime.Today.AddDays(10); oL1.FTO_SetDecisionJuryL1Favorable(); VM.ValideretQuitterL1(); VM.saveData(); VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; Assert.AreEqual(oL1.DateValidite, oL2.DateValidite); oL2.DateNotificationJury = DateTime.Today; Assert.AreEqual(oL1.DateValidite, oL2.DateValidite); }
public void GESTVAE018() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); //Lock du candidat sur POSTE1 VM.CurrentCandidat = VM.lstCandidatVM[0]; // Le candidat n'a pas obtenu le CAFDES Assert.IsFalse(VM.CurrentCandidat.IsCAFDES); VM.LockCurrentCandidat(); VM.AjouteL1(); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); VM.AjouteL2(); // Decision = DéFavorable DateValidité > Now VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2DeFavorable(); VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(-1); VM.ValideretQuitterL2(); // Le candidat n'a pas obtenu le diplome Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; DiplomeCandVM oDip = VM.CurrentCandidat.getDiplomeCand(oL2); Assert.IsNotNull(oDip); // L'état du diplome est refusé Assert.AreEqual("Refusé", oDip.StatutDiplome); }//GestVAE018
public void testDCAValider() { MyViewModel VM = new MyViewModel(true); //Ajout d'un candidat avec un L1 Favorable VM.AjouteCandidat(); CandidatVM oCand = VM.CurrentCandidat; VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)oCand.CurrentLivret; oL1.FTO_SetDecisionJuryL1Favorable(); VM.ValideretQuitterL1(); VM.saveData(); // Ajout D'un L2 VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; Assert.IsTrue(oL2.lstDCLivret[0].IsAValider); Assert.IsTrue(oL2.lstDCLivret[1].IsAValider); Assert.IsTrue(oL2.lstDCLivret[2].IsAValider); Assert.IsTrue(oL2.lstDCLivret[3].IsAValider); Assert.AreEqual("En Cours", oL2.lstDCLivret[0].Statut); Assert.AreEqual("En Cours", oL2.lstDCLivret[1].Statut); Assert.AreEqual("En Cours", oL2.lstDCLivret[2].Statut); Assert.AreEqual("En Cours", oL2.lstDCLivret[3].Statut); // Validation partielle du L2 oL2.FTO_SetDecisionJuryL2Partielle(); oL2.lstDCLivret[0].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[1].Decision = oL2.DecisionL2ModuleDeFavorable; oL2.lstDCLivret[2].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[3].Decision = oL2.DecisionL2ModuleDeFavorable; VM.ValideretQuitterL2(); VM.saveData(); // test de l'état des DCCand après Décision du jury Assert.AreEqual("Validé", oCand.lstDiplomesCandVMs[0].StatutDC1); Assert.AreEqual("Refusé", oCand.lstDiplomesCandVMs[0].StatutDC2); Assert.AreEqual("Validé", oCand.lstDiplomesCandVMs[0].StatutDC1); Assert.AreEqual("Refusé", oCand.lstDiplomesCandVMs[0].StatutDC4); // Création d'un nouveau L2 VM.AjouteL2(); oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; Assert.IsFalse(oL2.lstDCLivret[0].IsAValider); Assert.IsTrue(oL2.lstDCLivret[1].IsAValider); Assert.IsFalse(oL2.lstDCLivret[2].IsAValider); Assert.IsTrue(oL2.lstDCLivret[3].IsAValider); Assert.AreEqual("Validé", oL2.lstDCLivret[0].Statut); Assert.AreEqual("Refusé", oL2.lstDCLivret[1].Statut); Assert.AreEqual("Validé", oL2.lstDCLivret[2].Statut); Assert.AreEqual("Refusé", oL2.lstDCLivret[3].Statut); // Validation PArtielle du L2 oL2.FTO_SetDecisionJuryL2Partielle(); oL2.lstDCLivret[1].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[3].Decision = oL2.DecisionL2ModuleDeFavorable; VM.ValideretQuitterL2(); VM.saveData(); // test de l'état des DCCand Assert.AreEqual("Validé", oCand.lstDiplomesCandVMs[0].StatutDC1); Assert.AreEqual("Validé", oCand.lstDiplomesCandVMs[0].StatutDC2); Assert.AreEqual("Validé", oCand.lstDiplomesCandVMs[0].StatutDC1); Assert.AreEqual("Refusé", oCand.lstDiplomesCandVMs[0].StatutDC4); VM.AjouteL2(); oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; Assert.IsFalse(oL2.lstDCLivret[0].IsAValider); Assert.IsFalse(oL2.lstDCLivret[1].IsAValider); Assert.IsFalse(oL2.lstDCLivret[2].IsAValider); Assert.IsTrue(oL2.lstDCLivret[3].IsAValider); Assert.AreEqual("Validé", oL2.lstDCLivret[0].Statut); Assert.AreEqual("Validé", oL2.lstDCLivret[1].Statut); Assert.AreEqual("Validé", oL2.lstDCLivret[2].Statut); Assert.AreEqual("Refusé", oL2.lstDCLivret[3].Statut); oL2.FTO_SetDecisionJuryL2Partielle(); oL2.lstDCLivret[3].Decision = oL2.DecisionL2ModuleFavorable; VM.ValideretQuitterL2(); VM.saveData(); }
public void TestStattusDCCand() { DiplomeCandVM oDiplome = null; MyViewModel VM = new MyViewModel(); VM.IsInTest = true; VM.getData(); VM.AddCandidatCommand.Execute(null); CandidatVM oCand = VM.CurrentCandidat; oCand.Nom = "TESTCAND"; VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)VM.CurrentCandidat.CurrentLivret; oL1.Numero = "TESTL1"; oL1.DateJury = new DateTime(2019, 04, 12); oL1.DateNotificationJury = new DateTime(2019, 04, 13, 0, 0, 0); oL1.DateEnvoiL2 = new DateTime(2019, 06, 13, 0, 0, 0); VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); VM.ValideretQuitterL1(); VM.saveData(); VM.getData(); Assert.IsTrue(VM.SetCurrentCandidat("TESTCAND")); VM.CurrentCandidat.CurrentLivret = VM.CurrentCandidat.lstLivrets[0]; Assert.AreEqual("TESTL1", VM.CurrentCandidat.CurrentLivret.Numero); // Création du L2 Premier passage VM.CloturerL1etCreerL2(); // le diplome du candidat passe à encours oDiplome = VM.CurrentCandidat.lstDiplomesCandVMs[0]; Assert.AreEqual("En cours", oDiplome.StatutDiplome); Assert.AreEqual("", oDiplome.lstDCCands[0].Statut); Assert.AreEqual("", oDiplome.lstDCCands[1].Statut); Assert.AreEqual("", oDiplome.lstDCCands[2].Statut); Assert.AreEqual("", oDiplome.lstDCCands[3].Statut); Livret2VM oLiv = (Livret2VM)VM.CurrentCandidat.CurrentLivret; oLiv.lstDCLivret[0].IsAValider = true; oLiv.lstDCLivret[1].IsAValider = true; oLiv.lstDCLivret[2].IsAValider = false; oLiv.lstDCLivret[3].IsAValider = false; VM.ValideretQuitterL2(); // Le diplome est en cours // les DC1 et DC2 sont encours, DC3 et DC4 non renseigné oDiplome = VM.CurrentCandidat.lstDiplomesCandVMs[0]; Assert.AreEqual("En cours", oDiplome.StatutDiplome); Assert.AreEqual("En cours", oDiplome.lstDCCands[0].Statut); Assert.AreEqual("En cours", oDiplome.lstDCCands[1].Statut); Assert.AreEqual("", oDiplome.lstDCCands[2].Statut); Assert.AreEqual("", oDiplome.lstDCCands[3].Statut); //// DECISION PARTIELLE //// oLiv.FTO_SetDecisionJuryL2Partielle(); oLiv.DateJury = new DateTime(2019, 08, 02); oLiv.lstDCLivret[0].Decision = String.Format("{0:D}-Validation", MyEnums.DecisionJuryL2.DECISION_L2_FAVORABLE); oLiv.lstDCLivret[1].Decision = String.Format("{0:D}-Refus de Validation", MyEnums.DecisionJuryL2.DECISION_L2_DEFAVORABLE); VM.ValideretQuitterL2(); // Le diplome passe en Validé patiellement // DC1 = Validé, DC2 = Refusé oDiplome = VM.CurrentCandidat.lstDiplomesCandVMs[0]; Assert.AreEqual("Validé Partiellement", oDiplome.StatutDiplome); Assert.AreEqual("Validé", oDiplome.lstDCCands[0].Statut); Assert.AreEqual(new DateTime(2019, 08, 02), oDiplome.lstDCCands[0].DateObtention); Assert.AreEqual("Refusé", oDiplome.lstDCCands[1].Statut); Assert.AreEqual("", oDiplome.lstDCCands[2].Statut); Assert.AreEqual("", oDiplome.lstDCCands[3].Statut); // 2nd passage //============ VM.AjouteL2(); oLiv = (Livret2VM)VM.CurrentCandidat.CurrentLivret; oLiv.lstDCLivret[0].IsAValider = false; oLiv.lstDCLivret[1].IsAValider = true; oLiv.lstDCLivret[2].IsAValider = true; oLiv.lstDCLivret[3].IsAValider = true; VM.ValideretQuitterL2(); Assert.AreEqual("Validé Partiellement", oDiplome.StatutDiplome); Assert.AreEqual("Validé", oDiplome.lstDCCands[0].Statut); Assert.AreEqual("En cours", oDiplome.lstDCCands[1].Statut); Assert.AreEqual("En cours", oDiplome.lstDCCands[2].Statut); Assert.AreEqual("En cours", oDiplome.lstDCCands[3].Statut); //// DECISION PARTIELLE //// oLiv.FTO_SetDecisionJuryL2Partielle(new DateTime(2019, 08, 03)); oLiv.lstDCLivret[1].Decision = String.Format("{0:D}-Validation", MyEnums.DecisionJuryL2.DECISION_L2_FAVORABLE); oLiv.lstDCLivret[2].Decision = String.Format("{0:D}-Validation", MyEnums.DecisionJuryL2.DECISION_L2_FAVORABLE); oLiv.lstDCLivret[3].Decision = String.Format("{0:D}-Refus de Validation", MyEnums.DecisionJuryL2.DECISION_L2_DEFAVORABLE); VM.ValideretQuitterL2(); Assert.AreEqual("Validé Partiellement", oDiplome.StatutDiplome); Assert.AreEqual("Validé", oDiplome.lstDCCands[0].Statut); Assert.AreEqual(new DateTime(2019, 08, 02), oDiplome.lstDCCands[0].DateObtention); Assert.AreEqual("Validé", oDiplome.lstDCCands[1].Statut); Assert.AreEqual(new DateTime(2019, 08, 03), oDiplome.lstDCCands[1].DateObtention); Assert.AreEqual("Validé", oDiplome.lstDCCands[2].Statut); Assert.AreEqual(new DateTime(2019, 08, 03), oDiplome.lstDCCands[2].DateObtention); Assert.AreEqual("Refusé", oDiplome.lstDCCands[3].Statut); // 3eme passage //============ VM.AjouteL2(); oLiv = (Livret2VM)VM.CurrentCandidat.CurrentLivret; oLiv.lstDCLivret[0].IsAValider = false; oLiv.lstDCLivret[1].IsAValider = false; oLiv.lstDCLivret[2].IsAValider = false; oLiv.lstDCLivret[3].IsAValider = true; VM.ValideretQuitterL2(); Assert.AreEqual("Validé Partiellement", oDiplome.StatutDiplome); Assert.AreEqual("Validé", oDiplome.lstDCCands[0].Statut); Assert.AreEqual("Validé", oDiplome.lstDCCands[1].Statut); Assert.AreEqual("Validé", oDiplome.lstDCCands[2].Statut); Assert.AreEqual("En cours", oDiplome.lstDCCands[3].Statut); //// DECISION PARTIELLE //// oLiv.FTO_SetDecisionJuryL2Favorable(new DateTime(2019, 08, 04), pMAJ_DC_AValider: false); VM.ValideretQuitterL2(); Assert.AreEqual("Validé", oDiplome.StatutDiplome); Assert.AreEqual("Validé", oDiplome.lstDCCands[0].Statut); Assert.AreEqual(new DateTime(2019, 08, 02), oDiplome.lstDCCands[0].DateObtention); Assert.AreEqual("Validé", oDiplome.lstDCCands[1].Statut); Assert.AreEqual(new DateTime(2019, 08, 03), oDiplome.lstDCCands[1].DateObtention); Assert.AreEqual("Validé", oDiplome.lstDCCands[2].Statut); Assert.AreEqual(new DateTime(2019, 08, 03), oDiplome.lstDCCands[2].DateObtention); Assert.AreEqual("Validé", oDiplome.lstDCCands[3].Statut); Assert.AreEqual(new DateTime(2019, 08, 04), oDiplome.lstDCCands[3].DateObtention); VM.LockCurrentCandidat(); VM.DeleteCurrentCandidat(); VM.saveData(); }
public void GESTVAE016() { MyViewModel VM = new MyViewModel(true); VM.AjouteCandidat(); CandidatVM oCan = VM.CurrentCandidat; oCan.Nom = "TEST1"; VM.saveData(); VM = new MyViewModel(true); VM.rechNom = "TEST1"; VM.Recherche(); VM.CurrentCandidat = VM.lstCandidatVM[0]; VM.LockCurrentCandidat(); // Avant Verrouillage => Ajout L2 impossible Assert.IsFalse(VM.AjouteL2Command.CanExecute(null)); // Ajout du Livret1 Favorable Date de validité > Aujourd'hui VM.AjouteL1(); Livret1VM oL1 = (Livret1VM)VM.CurrentCandidat.CurrentLivret; VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL1Favorable(); // Date de validé > Ajourd'hui VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL1(); // Ajout d'un Livret2 (non complet) VM.AjouteL2(); Livret2VM oL2 = (Livret2VM)VM.CurrentCandidat.CurrentLivret; VM.CurrentCandidat.CurrentLivret.DateValidite = DateTime.Now.AddDays(1); oL2.lstDCLivret[0].IsAValider = true; oL2.lstDCLivret[1].IsAValider = true; oL2.lstDCLivret[2].IsAValider = true; oL2.lstDCLivret[3].IsAValider = true; VM.ValideretQuitterL2(); //Ajout de L2 impossible car L2 en cours Assert.IsTrue(VM.CurrentCandidat.ISL2EnCours); Assert.IsFalse(VM.AjouteL2Command.CanExecute(null)); // Le L2 est Validé Partiellement => on peut Ajouter un L2 VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2Partielle(); oL2.lstDCLivret[0].Decision = oL2.DecisionL2ModuleFavorable; oL2.lstDCLivret[1].Decision = oL2.DecisionL2ModuleDeFavorable; oL2.lstDCLivret[2].Decision = oL2.DecisionL2ModuleDeFavorable; oL2.lstDCLivret[3].Decision = oL2.DecisionL2ModuleDeFavorable; Assert.IsTrue(VM.AjouteL2Command.CanExecute(null)); // Même Si le Livret1 est echue oL1.DateValidite = DateTime.Now.AddDays(-1); Assert.IsTrue(VM.IsCurrentCandidatAddL2Available); Assert.IsTrue(VM.AjouteL2Command.CanExecute(null)); // Et même Si on Lui ajoute un L2 Refusé VM.AjouteL2(); Livret2VM oL2bis = (Livret2VM)VM.CurrentCandidat.CurrentLivret; VM.CurrentCandidat.CurrentLivret.FTO_SetDecisionJuryL2DeFavorable(); oL2bis.DateValidite = DateTime.Now.AddDays(1); VM.ValideretQuitterL2(); Assert.IsTrue(VM.AjouteL2Command.CanExecute(null)); }//GestVAE016