Minor fix. Tests unitaires OK.

This commit is contained in:
Emmanuel Viennet 2023-04-04 12:02:09 +02:00
parent 8a2fac072e
commit 1f2952e0d0
4 changed files with 41 additions and 14 deletions

View File

@ -109,7 +109,7 @@ class EtudCursusBUT:
"cache les niveaux"
for annee in (1, 2, 3):
niveaux_d = formation.referentiel_competence.get_niveaux_by_parcours(
annee, [self.parcour]
annee, [self.parcour] if self.parcour else None
)[1]
# groupe les niveaux de tronc commun et ceux spécifiques au parcour
self.niveaux_by_annee[annee] = niveaux_d["TC"] + (
@ -268,7 +268,9 @@ class FormSemestreCursusBUT:
)
niveaux_by_annee = {}
for annee in (1, 2, 3):
niveaux_d = ref_comp.get_niveaux_by_parcours(annee, [parcour])[1]
niveaux_d = ref_comp.get_niveaux_by_parcours(
annee, [parcour] if parcour else None
)[1]
# groupe les niveaux de tronc commun et ceux spécifiques au parcour
niveaux_by_annee[annee] = niveaux_d["TC"] + (
niveaux_d[parcour.id] if parcour else []
@ -310,7 +312,6 @@ class FormSemestreCursusBUT:
return validation_par_competence_et_annee
def list_etud_inscriptions(self, etud: Identite):
"Le parcours à valider: celui du DERNIER semestre suivi (peut être None)"
self.niveaux_by_annee = {}
"{ annee : liste des niveaux à valider }"
@ -318,7 +319,7 @@ class FormSemestreCursusBUT:
"cache les niveaux"
for annee in (1, 2, 3):
niveaux_d = formation.referentiel_competence.get_niveaux_by_parcours(
annee, [self.parcour]
annee, [self.parcour] if self.parcour else None # XXX WIP
)[1]
# groupe les niveaux de tronc commun et ceux spécifiques au parcour
self.niveaux_by_annee[annee] = niveaux_d["TC"] + (

View File

@ -324,7 +324,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
parcours,
niveaux_by_parcours,
) = formation.referentiel_competence.get_niveaux_by_parcours(
self.annee_but, [self.parcour]
self.annee_but, [self.parcour] if self.parcour else None
)
self.niveaux_competences = niveaux_by_parcours["TC"] + (
niveaux_by_parcours[self.parcour.id] if self.parcour else []
@ -521,7 +521,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
ramène [ listes des UE du semestre impair, liste des UE du semestre pair ].
"""
ues_sems = []
for (formsemestre, res) in (
for formsemestre, res in (
(self.formsemestre_impair, self.res_impair),
(self.formsemestre_pair, self.res_pair),
):

View File

@ -18,6 +18,10 @@ from tests.unit import sco_fake_gen
def build_formation_test(
nb_mods=1, parcours=codes_cursus.CursusBUT, with_ue_sport=False
):
"""Crée une formation simple pour les tests.
Création à partir de zéro (n'importe pas un fichier xml).
Avec 3 UEs en S2 et une UE en S4.
"""
G = sco_fake_gen.ScoFake(verbose=False)
formation_id = G.create_formation(
acronyme="F3",
@ -26,13 +30,25 @@ def build_formation_test(
type_parcours=parcours.TYPE_CURSUS,
)
_ue1 = G.create_ue(
formation_id=formation_id, acronyme="UE1", titre="ue 1", semestre_idx=2
formation_id=formation_id,
acronyme="UE1",
titre="ue 1",
semestre_idx=2,
numero=1,
)
_ue2 = G.create_ue(
formation_id=formation_id, acronyme="UE2", titre="ue 2", semestre_idx=2
formation_id=formation_id,
acronyme="UE2",
titre="ue 2",
semestre_idx=2,
numero=2,
)
_ue3 = G.create_ue(
formation_id=formation_id, acronyme="UE3", titre="ue 3", semestre_idx=2
formation_id=formation_id,
acronyme="UE3",
titre="ue 3",
semestre_idx=2,
numero=3,
)
ue_ids = [_ue1, _ue2, _ue3]
# une 4eme UE en dehors du semestre 2

View File

@ -128,20 +128,26 @@ def test_refcomp_niveaux_mlt(test_client):
# Vérifier les niveaux_by_parcours
parcour = ref_comp.parcours.first()
# BUT 1
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(1, [parcour])
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(
1, [parcour] if parcour else None
)
assert parcours == [parcour] # le parcours indiqué
assert (tuple(niveaux_by_parcours.keys())) == (parcour.id, "TC")
assert niveaux_by_parcours[parcour.id] == [] # tout en tronc commun en BUT1 MLT
assert niveaux_by_parcours["TC"][0].competence.titre == "Transporter"
assert len(niveaux_by_parcours["TC"]) == 3
# BUT 2
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(2, [parcour])
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(
2, [parcour] if parcour else None
)
assert parcours == [parcour] # le parcours indiqué
assert (tuple(niveaux_by_parcours.keys())) == (parcour.id, "TC")
assert len(niveaux_by_parcours[parcour.id]) == 1
assert len(niveaux_by_parcours["TC"]) == 3
# BUT 3
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(3, [parcour])
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(
3, [parcour] if parcour else None
)
assert parcours == [parcour] # le parcours indiqué
assert (tuple(niveaux_by_parcours.keys())) == (parcour.id, "TC")
assert len(niveaux_by_parcours[parcour.id]) == 1
@ -185,13 +191,17 @@ def test_refcomp_niveaux_gccd(test_client):
# Vérifier les niveaux_by_parcours
parcour = ref_comp.parcours.first()
# BUT 1
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(1, [parcour])
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(
1, [parcour] if parcour else None
)
assert parcours == [parcour] # le parcours indiqué
assert (tuple(niveaux_by_parcours.keys())) == (parcour.id, "TC")
assert len(niveaux_by_parcours[parcour.id]) == 0
assert len(niveaux_by_parcours["TC"]) == 5
# BUT 3
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(3, [parcour])
parcours, niveaux_by_parcours = ref_comp.get_niveaux_by_parcours(
3, [parcour] if parcour else None
)
assert parcours == [parcour] # le parcours indiqué
assert (tuple(niveaux_by_parcours.keys())) == (parcour.id, "TC")
assert len(niveaux_by_parcours[parcour.id]) == 3