Browse Source

Maj des tests unitaires

omassot 6 years ago
parent
commit
9b0bc3acb5
4 changed files with 46 additions and 8 deletions
  1. 2 2
      schemas/mn1_rec.py
  2. 6 6
      schemas/mn2_rec.py
  3. 20 0
      test/test_mn1_rec.py
  4. 18 0
      test/test_mn2_rec.py

+ 2 - 2
schemas/mn1_rec.py

@@ -106,7 +106,7 @@ class Equipement(QgsModel):
               'EQ_TYPE_PH': {'type': 'string', 'maxlength': 24, 'empty': False, 'allowed': ['PBO 6', 'PBO 12', 'BPE 12EP', 'BPE 24EP', 'BPE 48EP', 'BPE 72EP', 'BPE 96EP', 'BPE 144EP', 'BPE 288EP', 'BPE 576EP', 'BPE 720EP', 'BAI']}, 
               'EQ_PRO': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'COLLECTIVITE', 'ORANGE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
               'EQ_GEST': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'MANCHE TELECOM', 'COLLECTIVITE', 'ORANGE', 'MANCHE FIBRE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
-              'EQ_HAUT': {'empty': True, 'validator': is_positive_float}, 
+              'EQ_HAUT': {'empty': True, 'validator': is_float}, 
               'EQ_DATE_IN': {'empty': False, 'validator': is_modern_french_date}, 
               'EQ_COMMENT': {'type': 'string', 'maxlength': 300, 'empty': True}, 
               'EQ_STATUT': {'type': 'string', 'maxlength': 14, 'empty': False, 'allowed': ['APS', 'APD', 'EXE', 'REC']}}
@@ -133,7 +133,7 @@ class Noeud(QgsModel):
               'NO_Y': {'empty': True, 'validator': is_float}, 
               'NO_PRO': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'COLLECTIVITE', 'ORANGE', 'ERDF', 'PRIVE', 'ENEDIS', 'AUTRE (à préciser)', 'NUL']}, 
               'NO_GEST': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'MANCHE TELECOM', 'COLLECTIVITE', 'ORANGE', 'ERDF', 'ENEDIS', 'MANCHE FIBRE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
-              'NO_HAUT': {'empty': True, 'validator': is_positive_float}, 
+              'NO_HAUT': {'empty': True, 'validator': is_float}, 
               'NO_DATE_IN': {'empty': False, 'validator': is_modern_french_date}, 
               'NO_REF_PLA': {'type': 'string', 'maxlength': 100}, 
               'NO_SRC_GEO': {'type': 'string', 'empty': False, 'maxlength': 50}, 

+ 6 - 6
schemas/mn2_rec.py

@@ -125,7 +125,7 @@ class Equipement(QgsModel):
               'EQ_TYPE_PH': {'type': 'string', 'empty': False, 'allowed': ['PBO 6', 'PBO 12', 'BPE 12EP', 'BPE 24EP', 'BPE 48EP', 'BPE 72EP', 'BPE 96EP', 'BPE 144EP', 'BPE 288EP', 'BPE 576EP', 'BPE 720EP', 'BAI']}, 
               'EQ_PRO': {'type': 'string', 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'COLLECTIVITE', 'ORANGE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
               'EQ_GEST': {'type': 'string', 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'MANCHE TELECOM', 'COLLECTIVITE', 'ORANGE', 'MANCHE FIBRE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
-              'EQ_HAUT': {'empty': True, 'validator': is_positive_float}, 
+              'EQ_HAUT': {'empty': True, 'validator': is_float}, 
               'EQ_DATE_IN': {'empty': False, 'validator': is_modern_french_date}, 
               'EQ_COMMENT': {'type': 'string', 'maxlength': 300, 'empty': True}, 
               'EQ_STATUT': {'type': 'string', 'empty': False, 'allowed': STATUTS}}
@@ -152,11 +152,11 @@ class Noeud(QgsModel):
               'NO_TECH_PS': {'type': 'string', 'maxlength': 20, 'multiallowed': ['COAX', 'CUT', 'ECL', 'ELEC', 'VP', 'OPT', 'NC']}, 
               'NO_AMO': {'type': 'string', 'maxlength': 30}, 
               'NO_PLINOX': {'required':False, 'type': 'string', 'maxlength': 3, 'allowed': ['OUI', 'NON']}, 
-              'NO_X': {'validator': is_float}, 
-              'NO_Y': {'validator': is_float}, 
+              'NO_X': {'empty': True, 'validator': is_float}, 
+              'NO_Y': {'empty': True, 'validator': is_float}, 
               'NO_PRO': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'COLLECTIVITE', 'ORANGE', 'ERDF', 'PRIVE', 'ENEDIS', 'AUTRE (à préciser)', 'NUL']}, 
               'NO_GEST': {'type': 'string', 'maxlength': 20, 'empty': False, 'allowed': ['MANCHE NUMERIQUE', 'MANCHE TELECOM', 'COLLECTIVITE', 'ORANGE', 'ERDF', 'ENEDIS', 'MANCHE FIBRE', 'PRIVE', 'AUTRE (à préciser)', 'NUL']}, 
-              'NO_HAUT': {'validator': is_positive_float}, 
+              'NO_HAUT': {'validator': is_float}, 
               'NO_DATE_IN': {'empty': False, 'validator': is_modern_french_date}, 
               'NO_REF_PLA': {'type': 'string', 'maxlength': 100}, 
               'NO_SRC_GEO': {'type': 'string', 'maxlength': 50}, 
@@ -577,7 +577,7 @@ class Mn2Checker(BaseChecker):
              
             # On se base sur le nom pour trouver la zapbo correspondante
             try:
-                equipement.zapbo = next((z for z in candidates if equipement.EQ_NOM in z.ID_ZAPBO))
+                equipement.zapbo = next((z for z in candidates if equipement.EQ_CODE in z.ID_ZAPBO))
             except StopIteration:
                 self.log_error("Le nom du PBO ne coincide avec le nom d'aucune des ZAPBO qui le contiennent", item=equipement)
                 break
@@ -623,6 +623,6 @@ class Mn2Checker(BaseChecker):
          
             if equipement.EQ_STATUT == "REC" and not zapbo.STATUT == "REC" and not zapbo.ID_ZAPBO[:4].lower() == "att_":
                 self.log_error("Le statut du PBO n'est pas cohérent avec le statut de sa ZAPBO", item=equipement)
-        
+
 
 checkers = [Mn2Checker]

+ 20 - 0
test/test_mn1_rec.py

@@ -449,4 +449,24 @@ class Test(SchemaTest):
         r = self.run_test("test_pbos", True)
         self.assertFailure(r)
         self.assertErrorLogged(r, "Le nom du PBO ne coincide avec le nom d'aucune des ZAPBO qui le contiennent")
+        
+    def test_zapbos_prises(self):
+        
+        # cas initial: valide
+        r = self.run_test("test_zapbos_prises")
+        
+        self.assertEqual(r.title, 'Topologie: Zapbos / Prises')
+        self.assertSuccess(r)
+        self.assertEqual(len(r.errors), 0)
+        
+    def test_pbo_dimension(self):
+        
+        # cas initial: valide
+        r = self.run_test("test_pbo_dimension")
+        
+        self.assertEqual(r.title, 'Dimensionnement des PBO')
+        self.assertSuccess(r)
+        self.assertEqual(len(r.errors), 0)
+        
+        
         

+ 18 - 0
test/test_mn2_rec.py

@@ -435,4 +435,22 @@ class Test(SchemaTest):
         r = self.run_test("test_pbos", True)
         self.assertFailure(r)
         self.assertErrorLogged(r, "Le nom du PBO ne coincide avec le nom d'aucune des ZAPBO qui le contiennent")
+        
+    def test_zapbos_prises(self):
+        
+        # cas initial: valide
+        r = self.run_test("test_zapbos_prises")
+        
+        self.assertEqual(r.title, 'Topologie: Zapbos / Prises')
+        self.assertSuccess(r)
+        self.assertEqual(len(r.errors), 0)
+        
+    def test_pbo_dimension(self):
+        
+        # cas initial: valide
+        r = self.run_test("test_pbo_dimension")
+        
+        self.assertEqual(r.title, 'Dimensionnement des PBO')
+        self.assertSuccess(r)
+        self.assertEqual(len(r.errors), 0)