From 5da59a6cbe0029c57c4f1115c851e56054eed8b1 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Tue, 11 Jul 2023 14:45:48 +0200 Subject: [PATCH] =?UTF-8?q?Adapte=20module=20assiduit=C3=A9=20pour=20SQLAl?= =?UTF-8?q?chemy=202.=20Tests=20unitaires=20sans=20erreurs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/assiduites.py | 1 - app/scodoc/sco_assiduites.py | 1 + tests/unit/test_assiduites.py | 21 +++++++++++++-------- tools/downgrade_assiduites.py | 9 +++++++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/models/assiduites.py b/app/models/assiduites.py index f343016a..d16e0d9f 100644 --- a/app/models/assiduites.py +++ b/app/models/assiduites.py @@ -156,7 +156,6 @@ class Assiduite(db.Model): ) -> object or int: """Créer une nouvelle assiduité pour l'étudiant""" # Vérification de non duplication des périodes - nouv_assiduite = Assiduite( date_debut=date_debut, date_fin=date_fin, diff --git a/app/scodoc/sco_assiduites.py b/app/scodoc/sco_assiduites.py index 3bac9796..93027501 100644 --- a/app/scodoc/sco_assiduites.py +++ b/app/scodoc/sco_assiduites.py @@ -4,6 +4,7 @@ Ecrit par Matthias Hartmann. from datetime import date, datetime, time, timedelta from pytz import UTC +from app import log import app.scodoc.sco_utils as scu from app.models.assiduites import Assiduite, Justificatif from app.models.etudiants import Identite diff --git a/tests/unit/test_assiduites.py b/tests/unit/test_assiduites.py index cf007529..efd8d4d0 100644 --- a/tests/unit/test_assiduites.py +++ b/tests/unit/test_assiduites.py @@ -268,16 +268,19 @@ def ajouter_justificatifs(etud): }, ] - justificatifs = [ - Justificatif.create_justificatif( + justificatifs = [] + for just in obj_justificatifs: + just_obj = Justificatif.create_justificatif( etud, scu.is_iso_formated(just["deb"], True), scu.is_iso_formated(just["fin"], True), just["etat"], just["raison"], ) - for just in obj_justificatifs - ] + db.session.add(just_obj) + db.session.commit() + justificatifs.append(just_obj) + # Vérification de la création des justificatifs assert [ justi for justi in justificatifs if not isinstance(justi, Justificatif) @@ -536,8 +539,9 @@ def ajouter_assiduites( }, ] - assiduites = [ - Assiduite.create_assiduite( + assiduites = [] + for ass in obj_assiduites: + ass_obj = Assiduite.create_assiduite( etud, scu.is_iso_formated(ass["deb"], True), scu.is_iso_formated(ass["fin"], True), @@ -545,8 +549,9 @@ def ajouter_assiduites( ass["moduleimpl"], ass["desc"], ) - for ass in obj_assiduites - ] + assiduites.append(ass_obj) + db.session.add(ass_obj) + db.session.commit() # Vérification de la création des assiduités assert [ diff --git a/tools/downgrade_assiduites.py b/tools/downgrade_assiduites.py index ac38e068..dd87981a 100644 --- a/tools/downgrade_assiduites.py +++ b/tools/downgrade_assiduites.py @@ -3,6 +3,7 @@ Commande permettant de supprimer les assiduités et les justificatifs Ecrit par Matthias HARTMANN """ +import sqlalchemy as sa from app import db from app.models import Justificatif, Assiduite, Departement @@ -42,9 +43,13 @@ def downgrade_module( if dept is None: if assiduites: - db.session.execute("ALTER SEQUENCE assiduites_id_seq RESTART WITH 1") + db.session.execute( + sa.text("ALTER SEQUENCE assiduites_id_seq RESTART WITH 1") + ) if justificatifs: - db.session.execute("ALTER SEQUENCE justificatifs_id_seq RESTART WITH 1") + db.session.execute( + sa.text("ALTER SEQUENCE justificatifs_id_seq RESTART WITH 1") + ) db.session.commit()