Ajout test cursus GCCD (à compléter)

This commit is contained in:
Emmanuel Viennet 2023-03-27 10:36:54 +02:00 committed by iziram
parent f40fae3463
commit 87aab32d2e
5 changed files with 1780 additions and 0 deletions

View File

@ -2,6 +2,8 @@
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
but_gb
but_gccd
but_mlt
lemans
lyon
test_test

File diff suppressed because it is too large Load Diff

View File

@ -196,6 +196,9 @@ Etudiants:
S3:
parcours: SEE
notes_modules: # anglais qui intervient partout en SEE
"R3.SEE.06": 15
Azbbbb: # Az devrait être trié après Aï.
prenom: Étudiante_BMB
civilite: F

View File

@ -0,0 +1,165 @@
# Tests unitaires jury BUT
# Essais avec un BUT GCCD (GC-CD) et un parcours de S1 à S6
# Le GCCD est un programme à 5 compétences, dont certaines
# terminent en S4 ou en S6 selon les parcours.
ReferentielCompetences:
filename: but-GCCD-05012022-081630.xml
specialite: GCCD
Formation:
filename: scodoc_formation_BUT_GC-CD_v2.xml
# Association des UEs aux compétences:
ues:
# S1 tronc commun:
'UE1.1':
annee: BUT1
competence: "Solutions Bâtiment"
'UE1.2':
annee: BUT1
competence: "Solutions TP"
'UE1.3':
annee: BUT1
competence: "Dimensionner"
'UE1.4':
annee: BUT1
competence: Organiser
'UE1.5':
annee: BUT1
competence: Piloter
# S2 tronc commun:
'UE2.1':
annee: BUT1
competence: "Solutions Bâtiment"
'UE2.2':
annee: BUT1
competence: "Solutions TP"
'UE2.3':
annee: BUT1
competence: "Dimensionner"
'UE2.4':
annee: BUT1
competence: Organiser
'UE2.5':
annee: BUT1
competence: Piloter
# S3 : Tronc commun
'UE3.1':
annee: BUT2
competence: "Solutions Bâtiment"
'UE3.2':
annee: BUT2
competence: "Solutions TP"
'UE3.3':
annee: BUT2
competence: "Dimensionner"
'UE3.4':
annee: BUT2
competence: Organiser
'UE3.5':
annee: BUT2
competence: Piloter
# S4 Tronc commun
'UE4.1':
annee: BUT2
competence: "Solutions Bâtiment"
'UE4.2':
annee: BUT2
competence: "Solutions TP"
'UE4.3':
annee: BUT2
competence: "Dimensionner"
'UE4.4':
annee: BUT2
competence: Organiser
'UE4.5':
annee: BUT2
competence: Piloter
# S5 Parcours BAT + TP
'UE5.1': # Parcours BAT seulement
annee: BUT3
competence: "Solutions Bâtiment"
'UE5.2': # Parcours TP seulement
annee: BUT3
competence: "Solutions TP"
'UE5.4':
annee: BUT3
competence: Organiser
'UE5.5':
annee: BUT3
competence: Piloter
modules_parcours:
# cette section permet d'associer des modules à des parcours
# les codes modules peuvent être des regexp
# En GCCD:
# - tous les module de S1 à S4 dans tous les parcours
# - SAE communes en S1 et S2 mais différenciées par parcours ensuite
# - en S5, ressources différenciées: on ne les mentionne pas toutes ici
BAT: [ "R[1-4].*", "SAÉ [1-2]", "SAÉ *.BAT.*", "R5.0[1-7]", "R5.14" ]
TP: [ "R[1-4].*", "SAÉ [1-2]", "SAÉ *.TP.*", "R5.0[1-4]", "R5.0[89]" ]
FormSemestres:
# S1 et S2 avec les parcours BAT et TP:
S1:
idx: 1
date_debut: 2021-09-01
date_fin: 2022-01-15
codes_parcours: ['BAT', 'TP']
S2:
idx: 2
date_debut: 2022-01-15
date_fin: 2022-06-30
codes_parcours: ['BAT', 'TP']
S3:
idx: 3
date_debut: 2022-09-01
date_fin: 2023-01-15
codes_parcours: ['BAT', 'TP']
S4:
idx: 4
date_debut: 2023-01-16
date_fin: 2023-06-30
codes_parcours: ['BAT', 'TP']
S5:
idx: 5
date_debut: 2023-09-01
date_fin: 2024-01-15
codes_parcours: ['BAT', 'TP']
S6:
idx: 6
date_debut: 2024-01-16
date_fin: 2024-06-30
codes_parcours: ['BAT', 'TP']
Etudiants:
A_ok: # Etudiant qui va tout valider directement
prenom: Étudiant_BAT
civilite: M
formsemestres:
S1:
parcours: BAT
notes_modules:
"R1.01": 11 # toutes UEs
S2:
parcours: BAT
notes_modules:
"R2.01": 12 # toutes UEs
S3:
parcours: BAT
notes_modules:
"R3.01": 13 # toutes UEs
S4:
parcours: BAT
notes_modules:
"R4.01": 14 # toutes UE
S5:
parcours: BAT
notes_modules:
"R5.01": 15 # toutes UE
"SAÉ 5.BAT.01": 10 # UE5.1
"SAÉ 5.BAT.02": 11 # UE5.4
S6:
parcours: BAT

View File

@ -16,6 +16,7 @@ Exemple utilisation spécifique:
# test sur "Lyon" seulement:
pytest --pdb -m lyon tests/unit/test_but_jury.py
pytest --pdb -m but_gccd tests/unit/test_but_jury.py
"""
import pytest
@ -111,3 +112,15 @@ def test_but_jury_GEII_lyon(test_client):
formsemestre, only_adm=False, no_overwrite=False
)
yaml_setup_but.but_test_jury(formsemestre, doc)
@pytest.mark.slow
@pytest.mark.but_gccd
def test_but_jury_GCCD_CY(test_client):
"""Tests sur un cursus BUT GCCD de S1 à S6"""
# WIP
app.set_sco_dept(DEPT)
doc = yaml_setup.setup_from_yaml("tests/ressources/yaml/cursus_but_gccd_cy.yaml")
formsemestres = FormSemestre.query.order_by(
FormSemestre.date_debut, FormSemestre.semestre_id
).all()