Sfoglia il codice sorgente

[broken tests] Updated EmField to use FieldDataHandler

Yann Weber 9 anni fa
parent
commit
62752d9f8c

+ 5
- 3
lodel/editorial_model/components.py Vedi File

@@ -6,6 +6,7 @@ import copy
6 6
 import hashlib
7 7
 
8 8
 from lodel.utils.mlstring import MlString
9
+from lodel.leapi.datahandlers.field_data_handler import FieldDataHandler
9 10
 
10 11
 from lodel.editorial_model.exceptions import *
11 12
 
@@ -123,14 +124,16 @@ class EmField(EmComponent):
123 124
     ## @brief Instanciate a new EmField
124 125
     # @param uid str : uniq identifier
125 126
     # @param display_name MlString|str|dict : field display_name
126
-    # @param data_handler class|str : A DataHandler class or display_name
127
+    # @param data_handler str : A DataHandler name
127 128
     # @param help_text MlString|str|dict : help text
128 129
     # @param group EmGroup :
129 130
     # @param **handler_kwargs : data handler arguments
130 131
     def __init__(self, uid, data_handler, display_name = None, help_text = None, group = None, **handler_kwargs):
131 132
         super().__init__(uid, display_name, help_text, group)
132
-        self.data_handler = data_handler
133
+        self.data_handler_name = data_handler
134
+        self.data_handler_cls = FieldDataHandler(data_handler)
133 135
         self.data_handler_options = handler_kwargs
136
+        self.data_handler_instance = self.data_handler_cls(**handler_kwargs)
134 137
         ## @brief Stores the emclass that contains this field (set by EmClass.add_field() method)
135 138
         self._emclass = None
136 139
 
@@ -144,7 +147,6 @@ class EmField(EmComponent):
144 147
                                 'utf-8')
145 148
         ).digest(), byteorder='big')
146 149
 
147
-
148 150
 ## @brief Handles functionnal group of EmComponents
149 151
 class EmGroup(object):
150 152
         

+ 7
- 7
tests/editorial_model/test_model.py Vedi File

@@ -13,11 +13,11 @@ class EditorialModelTestCase(unittest.TestCase):
13 13
         """ Test the deterministic hash method """
14 14
         model = EditorialModel("test model", description = "Test EM")
15 15
         cls1 = model.new_class('testclass1', display_name = 'Classe de test 1', help_text = 'super aide')
16
-        c1f1 = cls1.new_field('c1testfield1', data_handler = None)
17
-        c1f2 = cls1.new_field('c1testfield2', data_handler = None)
16
+        c1f1 = cls1.new_field('c1testfield1', data_handler = 'varchar')
17
+        c1f2 = cls1.new_field('c1testfield2', data_handler = 'varchar')
18 18
         cls2 = model.new_class('testclass2')
19
-        c2f1 = cls2.new_field('c2testfield1', data_handler = None)
20
-        c2f2 = cls2.new_field('c2testfield2', data_handler = None)
19
+        c2f1 = cls2.new_field('c2testfield1', data_handler = 'varchar')
20
+        c2f2 = cls2.new_field('c2testfield2', data_handler = 'varchar')
21 21
         grp1 = model.new_group('testgroup1')
22 22
         grp1.add_components((cls1, c1f1))
23 23
         grp2 = model.new_group('testgroup2')
@@ -51,9 +51,9 @@ class EmClassTestCase(unittest.TestCase):
51 51
     def test_fields(self):
52 52
         """ Bad test on add field method (only check uid presence) """
53 53
         cls = EmClass('testClass', 'test_class', 'A test class')
54
-        cls.new_field('name', data_handler = None)
55
-        cls.new_field('string', data_handler = None)
56
-        cls.new_field('lodel_id', data_handler = None)
54
+        cls.new_field('name', data_handler = 'varchar')
55
+        cls.new_field('string', data_handler = 'varchar')
56
+        cls.new_field('lodel_id', data_handler = 'varchar')
57 57
 
58 58
         fields = cls.fields()
59 59
         self.assertEqual(len(fields), 3)

+ 4
- 4
tests/editorial_model/test_translator_picklefile.py Vedi File

@@ -14,11 +14,11 @@ class PickleFileTestCase(unittest.TestCase):
14 14
     def test_save(self):
15 15
         model = EditorialModel("test model", description = "Test EM")
16 16
         cls1 = model.new_class('testclass1', display_name = 'Classe de test 1', help_text = 'super aide')
17
-        c1f1 = cls1.new_field('testfield1', data_handler = None)
18
-        c1f2 = cls1.new_field('testfield2', data_handler = None)
17
+        c1f1 = cls1.new_field('testfield1', data_handler = 'varchar')
18
+        c1f2 = cls1.new_field('testfield2', data_handler = 'varchar')
19 19
         cls2 = model.new_class('testclass2')
20
-        c2f1 = cls2.new_field('testfield1', data_handler = None)
21
-        c2f2 = cls2.new_field('testfield2', data_handler = None)
20
+        c2f1 = cls2.new_field('testfield1', data_handler = 'varchar')
21
+        c2f2 = cls2.new_field('testfield2', data_handler = 'varchar')
22 22
 
23 23
         grp1 = model.new_group('testgroup1')
24 24
         grp1.add_components((cls1, c1f1))

Loading…
Annulla
Salva