forked from ScoDoc/ScoDoc
Amélioration tests. Cas geii84 OK
This commit is contained in:
parent
2919ff517c
commit
6ad415dfca
@ -276,3 +276,96 @@ Etudiants:
|
||||
code_valide: AJ
|
||||
moy_ue: 7.00
|
||||
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]):
|
||||
"""Vérifie (assert) la liste des codes
|
||||
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.
|
||||
"""
|
||||
codes_set = set(codes)
|
||||
@ -404,13 +404,18 @@ def _check_decisions_ues(
|
||||
if "codes" in dec_ue_att:
|
||||
_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 getattr(dec_ue, attr) != dec_ue_att[attr]:
|
||||
raise ValueError(
|
||||
f"""Erreur: décision d'UE: {dec_ue.ue.acronyme
|
||||
} : 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:
|
||||
code_manuel = dec_ue_att.get("decision_jury")
|
||||
if code_manuel is not None:
|
||||
|
Loading…
Reference in New Issue
Block a user