forked from ScoDoc/DocScoDoc
63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
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
|
|
|
|
import random
|
|
|
|
from tests.unit import sco_fake_gen
|
|
from app.scodoc import sco_edit_module
|
|
from app.scodoc import sco_formations
|
|
from app.scodoc import sco_moduleimpl
|
|
|
|
|
|
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/unit/formation-exemple-1.xml") as f:
|
|
doc = f.read()
|
|
|
|
# --- Création de la formation
|
|
f = sco_formations.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
|
|
modules = sco_edit_module.do_module_list({"formation_id": formation_id})
|
|
mods_imp = []
|
|
for mod in modules:
|
|
mi = G.create_moduleimpl(
|
|
module_id=mod["module_id"],
|
|
formsemestre_id=sems[mod["semestre_id"] - 1]["formsemestre_id"],
|
|
)
|
|
mods_imp.append(mi)
|