forked from ScoDoc/ScoDoc
Amélioration tests. Cas geii84 OK
This commit is contained in:
parent
35ccdbf39e
commit
fe58222ce0
@ -276,3 +276,96 @@ Etudiants:
|
|||||||
code_valide: AJ
|
code_valide: AJ
|
||||||
moy_ue: 7.00
|
moy_ue: 7.00
|
||||||
decision_annee: AJ
|
decision_annee: AJ
|
||||||
|
geii84:
|
||||||
|
prenom: etugeii84
|
||||||
|
civilite: M
|
||||||
|
formsemestres:
|
||||||
|
S1:
|
||||||
|
notes_modules: # on joue avec les SAE seulement car elles sont "diagonales"
|
||||||
|
"S1.1": 11.95
|
||||||
|
"S1.2": 12.76
|
||||||
|
attendu: # les codes jury que l'on doit vérifier
|
||||||
|
deca:
|
||||||
|
passage_de_droit: False
|
||||||
|
nb_competences: 2
|
||||||
|
nb_rcue_annee: 0
|
||||||
|
decisions_ues:
|
||||||
|
"UE11":
|
||||||
|
codes: [ "ADM", "..." ]
|
||||||
|
code_valide: ADM
|
||||||
|
decision_jury: ADM
|
||||||
|
moy_ue: 11.95
|
||||||
|
"UE12":
|
||||||
|
codes: [ "ADM", "..." ]
|
||||||
|
code_valide: ADM
|
||||||
|
decision_jury: ADM
|
||||||
|
moy_ue: 12.76
|
||||||
|
S2:
|
||||||
|
notes_modules: # on joue avec les SAE seulement car elles sont "diagonales"
|
||||||
|
"S2.1": 7.83
|
||||||
|
"S2.2": 8.15
|
||||||
|
attendu: # les codes jury que l'on doit vérifier
|
||||||
|
deca:
|
||||||
|
passage_de_droit: False
|
||||||
|
nb_competences: 2
|
||||||
|
nb_rcue_annee: 2
|
||||||
|
valide_moitie_rcue: False
|
||||||
|
codes: [ "RED", "..." ]
|
||||||
|
decisions_ues:
|
||||||
|
"UE21":
|
||||||
|
codes: [ "AJ", "..." ]
|
||||||
|
code_valide: AJ
|
||||||
|
decision_jury: AJ
|
||||||
|
moy_ue: 7.83
|
||||||
|
"UE22":
|
||||||
|
codes: [ "CMP", "..." ]
|
||||||
|
code_valide: CMP
|
||||||
|
moy_ue: 8.15
|
||||||
|
decisions_rcues: # on repère ici les RCUE par l'acronyme de leur 1ere UE (donc du S1)
|
||||||
|
"UE11":
|
||||||
|
code_valide: AJ
|
||||||
|
decision_jury: AJ
|
||||||
|
rcue:
|
||||||
|
moy_rcue: 9.89
|
||||||
|
est_compensable: False
|
||||||
|
"UE12":
|
||||||
|
code_valide: CMP
|
||||||
|
decision_jury: CMP
|
||||||
|
rcue:
|
||||||
|
moy_rcue: 10.455 # ! attention à la précision
|
||||||
|
est_compensable: True
|
||||||
|
decision_annee: RED
|
||||||
|
S1-red:
|
||||||
|
notes_modules: # on joue avec les SAE seulement car elles sont "diagonales"
|
||||||
|
"S1.1": 13.71
|
||||||
|
"S1.2": 9.50
|
||||||
|
attendu: # les codes jury que l'on doit vérifier
|
||||||
|
deca:
|
||||||
|
passage_de_droit: False
|
||||||
|
nb_competences: 2
|
||||||
|
nb_rcue_annee: 0
|
||||||
|
decisions_ues:
|
||||||
|
"UE11":
|
||||||
|
codes: [ "ADM", "..." ]
|
||||||
|
code_valide: ADM
|
||||||
|
decision_jury: ADM
|
||||||
|
moy_ue: 13.71
|
||||||
|
"UE12":
|
||||||
|
codes: [ "AJ", "ADJ", "RAT", "DEF", "ABAN", "ADJR", "ATJ", "DEM", "UEBSL" ]
|
||||||
|
code_valide: AJ # c'est l'UE12 du S1 de l'année prec. qui est ADM
|
||||||
|
moy_ue: 9.5 # moyenne non capitalisée ici
|
||||||
|
moy_ue_with_cap: 12.76
|
||||||
|
# Pas de décisions RCUE
|
||||||
|
# "UE11": -- non applicable
|
||||||
|
# code_valide: ADM -- non applicable
|
||||||
|
# decision_jury: ADM -- non applicable
|
||||||
|
# rcue: -- non applicable
|
||||||
|
# moy_rcue: 10.94 -- non applicable
|
||||||
|
# est_compensable: False -- non applicable
|
||||||
|
# "UE12": -- non applicable
|
||||||
|
# code_valide: ADM -- non applicable
|
||||||
|
# decision_jury: ADM -- non applicable
|
||||||
|
# rcue: -- non applicable
|
||||||
|
# moy_rcue: 10.94 -- non applicable
|
||||||
|
# est_compensable: False -- non applicable
|
||||||
|
decision_annee: AJ
|
@ -374,7 +374,7 @@ def setup_from_yaml(filename: str) -> dict:
|
|||||||
def _check_codes_jury(codes: list[str], codes_att: list[str]):
|
def _check_codes_jury(codes: list[str], codes_att: list[str]):
|
||||||
"""Vérifie (assert) la liste des codes
|
"""Vérifie (assert) la liste des codes
|
||||||
l'ordre n'a pas d'importance ici.
|
l'ordre n'a pas d'importance ici.
|
||||||
Si codes_att contient un "...", on se contente de vérifie que
|
Si codes_att contient un "...", on se contente de vérifier que
|
||||||
les codes de codes_att sont tous présents dans codes.
|
les codes de codes_att sont tous présents dans codes.
|
||||||
"""
|
"""
|
||||||
codes_set = set(codes)
|
codes_set = set(codes)
|
||||||
@ -404,13 +404,18 @@ def _check_decisions_ues(
|
|||||||
if "codes" in dec_ue_att:
|
if "codes" in dec_ue_att:
|
||||||
_check_codes_jury(dec_ue.codes, dec_ue_att["codes"])
|
_check_codes_jury(dec_ue.codes, dec_ue_att["codes"])
|
||||||
|
|
||||||
for attr in ("moy_ue", "moy_ue_with_cap", "explanation", "code_valide"):
|
for attr in ("explanation", "code_valide"):
|
||||||
if attr in dec_ue_att:
|
if attr in dec_ue_att:
|
||||||
if getattr(dec_ue, attr) != dec_ue_att[attr]:
|
if getattr(dec_ue, attr) != dec_ue_att[attr]:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"""Erreur: décision d'UE: {dec_ue.ue.acronyme
|
f"""Erreur: décision d'UE: {dec_ue.ue.acronyme
|
||||||
} : champs {attr}={getattr(dec_ue, attr)} != attendu {dec_ue_att[attr]}"""
|
} : champs {attr}={getattr(dec_ue, attr)} != attendu {dec_ue_att[attr]}"""
|
||||||
)
|
)
|
||||||
|
for attr in ("moy_ue", "moy_ue_with_cap"):
|
||||||
|
if attr in dec_ue_att:
|
||||||
|
assert (
|
||||||
|
abs(getattr(dec_ue, attr) - dec_ue_att[attr]) < scu.NOTES_PRECISION
|
||||||
|
)
|
||||||
# Force décision de jury:
|
# Force décision de jury:
|
||||||
code_manuel = dec_ue_att.get("decision_jury")
|
code_manuel = dec_ue_att.get("decision_jury")
|
||||||
if code_manuel is not None:
|
if code_manuel is not None:
|
||||||
|
Loading…
Reference in New Issue
Block a user