66# The core business involves the administration of students, teachers,
77# courses, programs and so on.
88#
9- # Copyright (C) 2015-2024 Université catholique de Louvain (http://www.uclouvain.be)
9+ # Copyright (C) 2015-2025 Université catholique de Louvain (http://www.uclouvain.be)
1010#
1111# This program is free software: you can redistribute it and/or modify
1212# it under the terms of the GNU General Public License as published by
2929from django .db import IntegrityError
3030from django .test import TestCase
3131
32- from admission .constants import CONTEXT_GENERAL , CONTEXT_CONTINUING , CONTEXT_DOCTORATE
33- from admission .models import AdmissionViewer , ContinuingEducationAdmissionProxy
34- from admission .models .base import admission_directory_path , BaseAdmission
35- from admission .ddd .admission .doctorat .preparation .domain .model .enums import ChoixStatutPropositionDoctorale
36- from admission .ddd .admission .formation_continue .domain .model .enums import ChoixStatutPropositionContinue
37- from admission .ddd .admission .formation_generale .domain .model .enums import ChoixStatutPropositionGenerale
32+ from admission .constants import CONTEXT_CONTINUING , CONTEXT_DOCTORATE , CONTEXT_GENERAL
33+ from admission .ddd .admission .doctorat .preparation .domain .model .enums import (
34+ ChoixStatutPropositionDoctorale ,
35+ )
36+ from admission .ddd .admission .formation_continue .domain .model .enums import (
37+ ChoixStatutPropositionContinue ,
38+ )
39+ from admission .ddd .admission .formation_generale .domain .model .enums import (
40+ ChoixStatutPropositionGenerale ,
41+ )
3842from admission .infrastructure .admission .domain .service .annee_inscription_formation import (
3943 continuing_education_types_as_set ,
4044 doctorate_types_as_set ,
4145)
46+ from admission .models import AdmissionViewer , ContinuingEducationAdmissionProxy
47+ from admission .models .base import BaseAdmission , admission_directory_path
4248from admission .tests .factories import DoctorateAdmissionFactory
4349from admission .tests .factories .admission_viewer import AdmissionViewerFactory
44- from admission .tests .factories .continuing_education import ContinuingEducationAdmissionFactory
50+ from admission .tests .factories .continuing_education import (
51+ ContinuingEducationAdmissionFactory ,
52+ )
4553from admission .tests .factories .general_education import GeneralEducationAdmissionFactory
4654from base .models .entity_version import EntityVersion
47- from base .models .enums .education_group_types import TrainingType , AllTypes
55+ from base .models .enums .education_group_types import AllTypes , TrainingType
4856from base .models .enums .entity_type import EntityType
4957from base .models .person_merge_proposal import PersonMergeProposal , PersonMergeStatus
5058from base .tests .factories .academic_year import AcademicYearFactory
5159from base .tests .factories .education_group_type import EducationGroupTypeFactory
52- from base .tests .factories .entity_version import MainEntityVersionFactory , EntityVersionFactory
60+ from base .tests .factories .entity_version import (
61+ EntityVersionFactory ,
62+ MainEntityVersionFactory ,
63+ )
5364from base .tests .factories .person import PersonFactory
54- from epc .tests .factories .inscription_programme_annuel import InscriptionProgrammeAnnuelFactory
65+ from epc .tests .factories .inscription_programme_annuel import (
66+ InscriptionProgrammeAnnuelFactory ,
67+ )
5568
5669
5770class BaseTestCase (TestCase ):
@@ -171,7 +184,7 @@ def test_admission_in_quarantine(self):
171184
172185 for status in PersonMergeStatus :
173186 proposal .status = status .name
174- proposal .validation = {}
187+ proposal .validation = {'valid' : True }
175188 proposal .save ()
176189
177190 admission = BaseAdmission .objects .get (pk = admission .pk )
@@ -187,6 +200,14 @@ def test_admission_in_quarantine(self):
187200
188201 self .assertTrue (admission .is_in_quarantine )
189202
203+ # The admission is always in quarantine if the valid property is not specified
204+ proposal .validation = {}
205+ proposal .save ()
206+
207+ admission = BaseAdmission .objects .get (pk = admission .pk )
208+
209+ self .assertTrue (admission .is_in_quarantine )
210+
190211
191212@freezegun .freeze_time ('2023-01-01' )
192213class AdmissionFormattedReferenceTestCase (TestCase ):
0 commit comments