Browse Source

Modified test for datetime datahandler

m.orban 8 years ago
parent
commit
a6cc69294a
2 changed files with 14 additions and 15 deletions
  1. 4
    5
      lodel/leapi/datahandlers/datas_base.py
  2. 10
    10
      tests/datahandlers/test_datetime.py

+ 4
- 5
lodel/leapi/datahandlers/datas_base.py View File

@@ -117,13 +117,12 @@ class DateTime(DataField):
117 117
         value = super()._check_data_value(value)
118 118
         if isinstance(value,str):
119 119
             try:
120
-                datetime_value = datetime.datetime.fromtimestamp(time.mktime(time.strptime(value, self.datetime_format)))
121
-            except ValueError: 
120
+                value = datetime.datetime.fromtimestamp(time.mktime(time.strptime(value, self.datetime_format)))
121
+            except ValueError:
122 122
                 raise FieldValidationError("The value '%s' cannot be converted as a datetime" % value)
123
-        elif not isinstance(value, datetime.datetime):
123
+        if not isinstance(value, datetime.datetime):
124 124
             raise FieldValidationError("Tue value has to be a string or a datetime")
125
-        else:
126
-            return value
125
+        return value
127 126
 
128 127
     def _construct_data(self, emcomponent, fname, datas, cur_value):
129 128
         if (self.now_on_create and cur_value is None) or self.now_on_update:

+ 10
- 10
tests/datahandlers/test_datetime.py View File

@@ -1,25 +1,25 @@
1 1
 import unittest
2
-
2
+import datetime
3 3
 from lodel.leapi.datahandlers.datas import DateTime
4
+from lodel.exceptions import *
4 5
 
5 6
 
6 7
 class DatetimeTestCase(unittest.TestCase):
7 8
 
8 9
     def test_datetime_check_data_value(self):
9 10
         test_datetime = DateTime()
10
-
11
-        test_value = '2016-01-01'
12
-        _, error = test_datetime.check_data_value(test_value)
13
-        self.assertIsNone(error)
11
+        for test_value in ['2016-01-01']:
12
+            value = test_datetime._check_data_value(test_value)
13
+            self.assertEqual(value, datetime.datetime(2016, 1, 1, 0, 0))
14 14
 
15 15
     def test_datetime_check_data_value_with_custom_format(self):
16 16
         test_value = '2016-01-01T10:20:30Z'
17 17
         test_datetime = DateTime(format='%Y-%m-%dT%H:%M:%SZ')
18
-        _, error = test_datetime.check_data_value(test_value)
19
-        self.assertIsNone(error)
18
+        value = test_datetime._check_data_value(test_value)
19
+        self.assertEqual(value, datetime.datetime(2016, 1, 1, 10, 20, 30))
20 20
 
21 21
     def test_check_bad_value(self):
22 22
         test_datetime = DateTime(now_on_create=True, now_on_update=True)
23
-        test_value = '2016-01-01-test'
24
-        _, error = test_datetime.check_data_value(test_value)
25
-        self.assertIsNotNone(error)
23
+        for test_value in ['2016-01-01-test', '2016/01/01', 2016]:
24
+            with self.assertRaises(FieldValidationError):
25
+                test_datetime._check_data_value(test_value)

Loading…
Cancel
Save