ScoDoc/tests/scenarios/test_scenario1_formation.py

64 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
"""XXX OBSOLETE
Scenario: préparation base de données pour tests Selenium
S'utilise comme un test avec pytest, mais n'est pas un test !
Modifie la base de données du département TEST00
Usage: pytest tests/scenarios/test_scenario1_formation.py
"""
# code écrit par Fares Amer, mai 2021 et porté sur ScoDoc 8 en août 2021
from tests.unit import sco_fake_gen
from app.formations import formation_io
from app.models import Formation
@pytest.mark.skip # test obsolete
def test_scenario1(test_client):
"""Applique "scenario 1"""
run_scenario1()
def run_scenario1():
G = sco_fake_gen.ScoFake(verbose=False)
# Lecture fichier XML local:
with open(
"tests/ressources/formations/formation-exemple-1.xml", encoding="utf8"
) as f:
doc = f.read()
# --- Création de la formation
f = formation_io.formation_import_xml(doc=doc)
# --- Création des semestres
formation_id = f[0]
# --- Mise en place de 4 semestres
sems = [
G.create_formsemestre(
formation_id=formation_id,
semestre_id=x[0],
date_debut=x[1],
date_fin=x[2],
)
for x in (
(1, "01/09/2020", "01/02/2021"),
(2, "02/02/2021", "01/06/2021"),
(3, "01/09/2020", "01/02/2021"),
(4, "02/02/2021", "01/06/2021"),
)
]
# --- Implémentation des modules
formation = Formation.get_formation(formation_id)
mods_imp = []
for mod in formation.modules:
mi = G.create_moduleimpl(
module_id=mod.id,
formsemestre_id=sems[mod.semestre_id - 1]["formsemestre_id"],
)
mods_imp.append(mi)