ScoDoc/tests/scenarios/test_scenario1_formation.py
Place Jean-Marie 3d9f362daf exclude .idea files from git
refactoring setinngs variables

in progress: import xml files

ajout creation user "bach" pour certains tests

pseudo-test pour initalisation Selenium

typo

Ajout/suppression de département en tant qu'utilisateur scodoc (non root)

complement scodoc.py pour import xml files

--amend

scodoc is able to perform database operation

move export..xml to tests/scenario dir
2021-08-09 22:23:00 +02:00

62 lines
1.8 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
context = None # #context
def test_scenario1(test_client):
"""Applique "scenario 1"""
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, context=context)
# --- 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(context, {"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"],
responsable_id="bach",
)
mods_imp.append(mi)