56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
"""Test models referentiel compétences
|
||
|
||
Utiliser par exemple comme:
|
||
pytest tests/unit/test_refcomp.py
|
||
|
||
"""
|
||
import io
|
||
from flask import g
|
||
import app
|
||
from app import db
|
||
from app.but.import_refcomp import orebut_import_refcomp
|
||
from app.models.but_refcomp import (
|
||
ApcReferentielCompetences,
|
||
ApcCompetence,
|
||
ApcSituationPro,
|
||
)
|
||
|
||
ref_xml = """<?xml version="1.0" encoding="UTF-8"?>
|
||
<referentiel_competence specialite="RT" specialite_long="Réseaux et télécommunications" type="B.U.T.">
|
||
<competences>
|
||
<competence name="Administrer" numero="1" libelle_long="Administrer les réseaux et l’Internet"
|
||
couleur="c1">
|
||
<situations>
|
||
<situation>Conception et administration de l’infrastructure du réseau informatique d’une entreprise</situation>
|
||
<situation>Installation et administration des services réseau informatique d’une entreprise</situation>
|
||
</situations>
|
||
</competence>
|
||
<competence name="Tester" numero="2" libelle_long="Tester...">
|
||
<situations>
|
||
<situation>
|
||
Tests unitaires d'une application.
|
||
</situation>
|
||
</situations>
|
||
</competence>
|
||
</competences>
|
||
<parcours>
|
||
<parcour>
|
||
</parcour>
|
||
</parcours>
|
||
</referentiel_competence>
|
||
"""
|
||
|
||
|
||
def test_but_refcomp(test_client):
|
||
"""modèles ref. comp."""
|
||
f = io.StringIO(ref_xml)
|
||
ref = orebut_import_refcomp(f)
|
||
assert ref.references.count() == 2
|
||
assert ref.competences[0].situations.count() == 2
|
||
assert ref.competences[0].situations[0].libelle.startswith("Conception ")
|
||
# test cascades on delete
|
||
db.session.delete(ref)
|
||
db.session.commit()
|
||
assert ApcCompetence.query.count() == 0
|
||
assert ApcSituationPro.query.count() == 0
|