2022-12-07 23:04:11 +01:00
|
|
|
""" Test jury BUT avec parcours
|
|
|
|
"""
|
|
|
|
import pytest
|
|
|
|
import yaml
|
2022-12-09 04:24:32 +01:00
|
|
|
from tests.unit import setup_test_yaml as sty
|
2022-12-07 23:04:11 +01:00
|
|
|
import app
|
2022-12-09 04:24:32 +01:00
|
|
|
from app.but.jury_but import DecisionsProposeesAnnee
|
2022-12-07 23:04:11 +01:00
|
|
|
from app.models import (
|
|
|
|
Formation,
|
|
|
|
FormSemestre,
|
|
|
|
Identite,
|
2022-12-08 13:59:23 +01:00
|
|
|
UniteEns,
|
2022-12-07 23:04:11 +01:00
|
|
|
)
|
|
|
|
from app.scodoc import sco_utils as scu
|
|
|
|
from config import TestConfig
|
|
|
|
|
|
|
|
DEPT = TestConfig.DEPT_TEST
|
|
|
|
|
|
|
|
|
2022-12-09 04:24:32 +01:00
|
|
|
def test_but_jury_S1(test_client):
|
|
|
|
"""Test jurys BUT1 avec un seul parcours.
|
|
|
|
Vérifie aussi les champs de DecisionsProposeesAnnee
|
2022-12-07 23:04:11 +01:00
|
|
|
"""
|
|
|
|
app.set_sco_dept(DEPT)
|
2022-12-09 04:24:32 +01:00
|
|
|
doc = sty.setup_from_yaml("tests/unit/cursus_but_gb.yaml")
|
|
|
|
formsemestre: FormSemestre = FormSemestre.query.filter_by(titre="S1_SEE").first()
|
|
|
|
etud: Identite = formsemestre.etuds.first()
|
|
|
|
deca = DecisionsProposeesAnnee(etud, formsemestre)
|
|
|
|
assert deca.validation is None # pas encore de validation enregistrée
|
|
|
|
assert False is deca.recorded
|
|
|
|
assert deca.code_valide is None
|
|
|
|
assert deca.formsemestre_impair == formsemestre
|
|
|
|
assert deca.formsemestre_pair is None # jury de S1, pas de S2
|
|
|
|
assert deca.rcues_annee == [] # S1, pas de RCUEs
|
|
|
|
assert deca.inscription_etat == scu.INSCRIT
|
|
|
|
assert deca.inscription_etat_impair is None
|
|
|
|
assert deca.parcour == formsemestre.parcours[0] # un seul parcours dans ce sem.
|
|
|
|
assert formsemestre.query_ues().all() == deca.ues_impair
|
|
|
|
nb_ues = formsemestre.query_ues().count()
|
|
|
|
assert len(deca.decisions_ues) == nb_ues
|
|
|
|
assert len(deca.niveaux_competences) == nb_ues
|
|
|
|
assert deca.nb_competences == nb_ues
|
|
|
|
# XXX à compléter avec le jury quand on aura décidé des notes
|
|
|
|
|
|
|
|
|
|
|
|
def test_but_jury_S3(test_client):
|
|
|
|
"""Test jurys BUT2/S3 avec 2 parcours dans le sem."""
|
|
|
|
app.set_sco_dept(DEPT)
|
|
|
|
doc = sty.setup_from_yaml("tests/unit/cursus_but_gb.yaml")
|
|
|
|
formsemestre: FormSemestre = FormSemestre.query.filter_by(titre="S3").first()
|
|
|
|
etud: Identite = formsemestre.etuds.filter_by(nom="See1").first() # du parcours SEE
|
|
|
|
assert etud
|
|
|
|
deca = DecisionsProposeesAnnee(etud, formsemestre)
|
|
|
|
assert len(deca.niveaux_competences) == 5 # 5 compétences dans ce parcours
|