From 87aab32d2eba956024e64ee50c0104c1108974e6 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Mon, 27 Mar 2023 10:36:54 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20test=20cursus=20GCCD=20(=C3=A0=20compl?= =?UTF-8?q?=C3=A9ter)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pytest.ini | 2 + .../scodoc_formation_BUT_GC-CD_v2.xml | 1597 +++++++++++++++++ tests/ressources/yaml/cursus_but_gb.yaml | 3 + tests/ressources/yaml/cursus_but_gccd_cy.yaml | 165 ++ tests/unit/test_but_jury.py | 13 + 5 files changed, 1780 insertions(+) create mode 100644 tests/ressources/formations/scodoc_formation_BUT_GC-CD_v2.xml create mode 100644 tests/ressources/yaml/cursus_but_gccd_cy.yaml diff --git a/pytest.ini b/pytest.ini index d0da2ce1..605025f7 100644 --- a/pytest.ini +++ b/pytest.ini @@ -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 diff --git a/tests/ressources/formations/scodoc_formation_BUT_GC-CD_v2.xml b/tests/ressources/formations/scodoc_formation_BUT_GC-CD_v2.xml new file mode 100644 index 00000000..8a2e6992 --- /dev/null +++ b/tests/ressources/formations/scodoc_formation_BUT_GC-CD_v2.xml @@ -0,0 +1,1597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/ressources/yaml/cursus_but_gb.yaml b/tests/ressources/yaml/cursus_but_gb.yaml index 0b3588a6..266ced0d 100644 --- a/tests/ressources/yaml/cursus_but_gb.yaml +++ b/tests/ressources/yaml/cursus_but_gb.yaml @@ -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 diff --git a/tests/ressources/yaml/cursus_but_gccd_cy.yaml b/tests/ressources/yaml/cursus_but_gccd_cy.yaml new file mode 100644 index 00000000..614c21e3 --- /dev/null +++ b/tests/ressources/yaml/cursus_but_gccd_cy.yaml @@ -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 diff --git a/tests/unit/test_but_jury.py b/tests/unit/test_but_jury.py index 14d03434..2b41dd57 100644 --- a/tests/unit/test_but_jury.py +++ b/tests/unit/test_but_jury.py @@ -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()