Browse Source

[broken tests] Updated EmField to use FieldDataHandler

Yann Weber 9 years ago
parent
commit
62752d9f8c

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

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

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

13
         """ Test the deterministic hash method """
13
         """ Test the deterministic hash method """
14
         model = EditorialModel("test model", description = "Test EM")
14
         model = EditorialModel("test model", description = "Test EM")
15
         cls1 = model.new_class('testclass1', display_name = 'Classe de test 1', help_text = 'super aide')
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
         cls2 = model.new_class('testclass2')
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
         grp1 = model.new_group('testgroup1')
21
         grp1 = model.new_group('testgroup1')
22
         grp1.add_components((cls1, c1f1))
22
         grp1.add_components((cls1, c1f1))
23
         grp2 = model.new_group('testgroup2')
23
         grp2 = model.new_group('testgroup2')
51
     def test_fields(self):
51
     def test_fields(self):
52
         """ Bad test on add field method (only check uid presence) """
52
         """ Bad test on add field method (only check uid presence) """
53
         cls = EmClass('testClass', 'test_class', 'A test class')
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
         fields = cls.fields()
58
         fields = cls.fields()
59
         self.assertEqual(len(fields), 3)
59
         self.assertEqual(len(fields), 3)

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

14
     def test_save(self):
14
     def test_save(self):
15
         model = EditorialModel("test model", description = "Test EM")
15
         model = EditorialModel("test model", description = "Test EM")
16
         cls1 = model.new_class('testclass1', display_name = 'Classe de test 1', help_text = 'super aide')
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
         cls2 = model.new_class('testclass2')
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
         grp1 = model.new_group('testgroup1')
23
         grp1 = model.new_group('testgroup1')
24
         grp1.add_components((cls1, c1f1))
24
         grp1.add_components((cls1, c1f1))

Loading…
Cancel
Save