* <http://www.cecill.info/licences.fr.html>.
*/
-
-
package org.lilie.services.eliot.notes
import grails.test.GrailsUnitTestCase
import org.lilie.services.eliot.scolarite.SousService
import org.lilie.services.eliot.securite.impl.Autorite
-import org.lilie.services.eliot.securite.AutorisationException
import org.lilie.services.eliot.annuaire.SecuriteSession
import org.lilie.services.eliot.test.LocalInitDonneesCommunesTestService
import org.lilie.services.eliot.notes.scolarite.NotesSousServiceService
Map<TypePeriode, BigDecimal> coeffs = [:]
coeffs.put(initPeriodeTestService.t1, 5)
notesModaliteMatiereParams.coeffs = coeffs
- SecuriteSession securiteSessionDirection =
- localInitDonneesCommunesTestService.getSecuriteSession(
- PopulationTestActeur.DIRECTION_1
- )
+
notesSousServiceService.modifieSousService(
- securiteSessionDirection,
notesModaliteMatiereParams
)
+
//recuperer le sousservice :service1classe1-modaliteMatiere2 attaché au periode periodeT1_1
SousService sousService1 = getSousService(
service1classe1,
// assertEquals("le ResultatClassePeriode n'a pas été mis à jour",
// resultatClassePeriode.uptodate,false)
}
+
/**
* Tester la methode NotesServiceService.serviceEvaluableDansAutrePeriodes()
* @author mjao
periodeBrevet.typePeriode)
assertFalse("Le sousService1 n'est pas evaluable dans d'autres periodes",
sousServiceEvaluable)
-
}
+
/**
* Tester la methode NotesServiceService.hasDonneesLiees()
* @author mjao
assertTrue("Le sousService est lié à des données", sousServiceHasDonnees)
}
- /**
- * Tester l'autorisation de modification des sous-services
- * @author mjao
- */
- void testModifieSousServicePasAuthorise() {
- //Creation d'un sous-service dans chaque periode de service1classe1 pour les modifer aprés
- List<Periode> periodes = notesPeriodeService.
- findAllPeriodeForStructureEnseignement(service1classe1.structureEnseignement)
- periodes.each { Periode periode ->
- creeSousService(
- service1classe1,
- periode.typePeriode,
- modaliteMatiere1)
- }
- NotesModaliteMatiereParams notesModaliteMatiereParams = new NotesModaliteMatiereParams(
- serviceParent: service1classe1,
- modaliteMatiere: modaliteMatiere1,
- nouveauModaliteMatiere: modaliteMatiere2,
- classe: classe1enTrimestres,
- nature: natureNotation,
- evaluable: true,
- typePeriode: initPeriodeTestService.t1,
- )
- Map<TypePeriode, BigDecimal> coeffs = [:]
- coeffs.put(initPeriodeTestService.t1, 5)
- notesModaliteMatiereParams.coeffs = coeffs
- // test accés Directeur
- SecuriteSession securiteSessionDirecteur =
- localInitDonneesCommunesTestService.getSecuriteSession(
- PopulationTestActeur.DIRECTION_1)
- Boolean exceptionLeve = false
- try {
- notesSousServiceService.modifieSousService(
- securiteSessionDirecteur,
- notesModaliteMatiereParams
- )
- }
- catch (AutorisationException e) {
- exceptionLeve = true
- }
- assertFalse("Directeur ne peut pas modfier un sous-service", exceptionLeve)
- SecuriteSession securiteSessionEnseignement =
- localInitDonneesCommunesTestService.getSecuriteSession(
- PopulationTestActeur.ENSEIGNANT_1)
-
- exceptionLeve = false
- // test accés Enseigneur
- try {
- notesSousServiceService.modifieSousService(
- securiteSessionEnseignement,
- notesModaliteMatiereParams)
- }
- catch (AutorisationException e) {
- exceptionLeve = true
- }
- assertTrue("Enseignant peut modifier un service ", exceptionLeve)
- //teste accès parent
- SecuriteSession securiteSessionParent =
- localInitDonneesCommunesTestService.getSecuriteSession(
- PopulationTestActeur.PARENT_1)
- exceptionLeve = false
- try {
- notesSousServiceService.modifieSousService(
- securiteSessionParent,
- notesModaliteMatiereParams)
- }
- catch (AutorisationException e) {
- exceptionLeve = true
- }
- assertTrue("Parent peut modifier un service ", exceptionLeve)
- //teste accès eleve
- SecuriteSession securiteSessionEleve =
- localInitDonneesCommunesTestService.getSecuriteSession(
- PopulationTestActeur.ELEVE_2_CLASSE_1)
- exceptionLeve = false
- try {
- notesSousServiceService.modifieSousService(
- securiteSessionEleve,
- notesModaliteMatiereParams)
- }
- catch (AutorisationException e) {
- exceptionLeve = true
- }
- assertTrue("Eleve peut modifier un service ", exceptionLeve)
- }
/**
* Creation des périodes
/**
* Crée un service minimal
- * @param matiere matière
* @author msan
* @author mjao
*/
/**
* Attache service à toutes les périodes de la structure
- * @param structureEnseignement
- * @param service
*/
private void attacheService(StructureEnseignement structureEnseignement, Service service) {
structureEnseignement.periodes.each { Periode periode ->
/**
* Get ou crée la relation evaluable = true, coeff = 1
- * @param periode
- * @param service
- * @return
*/
private RelPeriodeService getRelPeriodeService(Periode periode, Service service) {
RelPeriodeService rel = RelPeriodeService.findByPeriodeAndService(periode, service)
}
return rel
}
+
/**
* Creation d'une modalité Matiere attaché à un service
* @param service attaché à la modalité matiere
- * @return modalité matiere
*/
private ModaliteMatiere creeModaliteMatiere(Service service,
String code,
return modaliteMatiere
}
+
/**
* get un sous-service
- * @param service
- * @param typeperiode
- * @param modalite
- * @return sous-service
*/
private SousService getSousService(
Service service,
}
return sousService
}
-/**
- * creer un sous-Service
- * @param service
- * @param typeperiode
- * @param modalite
- * @return sous-service
- */
+
+ /**
+ * creer un sous-Service
+ */
private SousService creeSousService(Service service,
TypePeriode typePeriode,
ModaliteMatiere modaliteMatiere) {
sousService.save(flush: true)
return sousService
}
+
/**
* Crée ou get une evaluation attaché a une periode
- * @param periode
- * @param enseignement
* @author mjao
*/
private Evaluation creeEvaluation(Periode periode,
return evaluation
}
+
/**
* Crée une Enseignement
- * @param enseignant
- * @param service
* @author mjao
*/
private Enseignement creeEnseignement(Autorite enseignant, Service service) {
return enseignement
}
- /**
- * Crée une note
- * @param eleve
- * @param evaluation
- * @author mjao
- */
- private Note creeNote(Autorite eleve, Evaluation evaluation) {
- Note note = new Note(
- eleve: eleve,
- evaluation: evaluation
- )
- note.save(flush: true)
- if (note.hasErrors()) {
- println(note.errors)
- }
- return note
- }
- /**
- * get un ResultatEleveEnseignementPeriode
- * @param periode
- * @param eleve
- * @param enseignement
- * @author mjao
- */
- private ResultatEleveEnseignementPeriode getResultatEleveEnseignementPeriode(
- Autorite eleve,
- Periode periode,
- Enseignement enseignement) {
- def criteria = ResultatEleveEnseignementPeriode.createCriteria()
- ResultatEleveEnseignementPeriode resultatEleveEnseignementPeriode = criteria.get {
- eq('eleve', eleve)
- eq('periode', periode)
- eq('enseignement', enseignement)
- }
- return resultatEleveEnseignementPeriode
- }
+
/**
* creer un ResultatEleveEnseignementPeriode
- * @param periode
- * @param eleve
- * @param enseignement
* @author mjao
*/
private ResultatEleveEnseignementPeriode creeResultatEleveEnseignementPeriode(
return resultat
}
+
/**
* crée un ResultatEleveSousServicePeriode
- * @param periode
- * @param service
- * @param eleve
* @author mjao
*/
private ResultatEleveSousServicePeriode creeResultatEleveSousServicePeriode(
return resultatSS
}
+
/**
* return un ResultatEleveSousServicePeriode
- * @param periode
- * @param service
- * @param eleve
* @author mjao
*/
private ResultatEleveSousServicePeriode getResultatEleveSousServicePeriode(
eq('sousService', sousService)
}
}
+
/**
* creer un ResultatEnseignementPeriode
- * @param enseignement
- * @param periode
* @author mjao
*/
private ResultatEnseignementPeriode creeResultatClasseEnseignementPeriode(Enseignement enseignement,
return resultat
}
+
/**
* get un ResultatClassseEnseignementPeriode
- * @param enseignement
- * @param periode
* @author mjao
*/
private ResultatEnseignementPeriode getResultatClasseEnseignementPeriode(Enseignement enseignement,
return resultatClasseEnseignementPeriode
}
-/**
- * crée un ResultatClasseServicePeriode
- * @param periode
- * @param service
- * @param classe
- * @author mjao
- */
+ /**
+ * crée un ResultatClasseServicePeriode
+ * @author mjao
+ */
private ResultatClasseSousServicePeriode creeResultatClasseSousServicePeriode(
Periode periode,
Service service,
/**
* get un ResultatClasseServicePeriode
- * @param periode
- * @param service
- * @param classe
* @author mjao
*/
private ResultatClasseSousServicePeriode getResultatClasseSousServicePeriode(
eq('sousService', sousService)
}
}
+
/**
* get ou creer un ResultatServicePeriode
- * @param periode
- * @param service
* @author mjao
*/
private ResultatClassePeriode creeOrGetResultatlClassePeriode(Periode periode,
}
return rel
}
+
/**
* get ou creer un ResultatElevePeriode
- * @param eleve
- * @param periode
* @author mjao
*/
private ResultatElevePeriode creeOrGetResultatlElevePeriode(Periode periode,