mirror of
https://github.com/yweber/lodel2.git
synced 2025-10-30 19:19:03 +01:00
Modified test for datetime datahandler
This commit is contained in:
parent
f9d41368ab
commit
a6cc69294a
2 changed files with 14 additions and 15 deletions
|
|
@ -117,13 +117,12 @@ class DateTime(DataField):
|
|||
value = super()._check_data_value(value)
|
||||
if isinstance(value,str):
|
||||
try:
|
||||
datetime_value = datetime.datetime.fromtimestamp(time.mktime(time.strptime(value, self.datetime_format)))
|
||||
except ValueError:
|
||||
value = datetime.datetime.fromtimestamp(time.mktime(time.strptime(value, self.datetime_format)))
|
||||
except ValueError:
|
||||
raise FieldValidationError("The value '%s' cannot be converted as a datetime" % value)
|
||||
elif not isinstance(value, datetime.datetime):
|
||||
if not isinstance(value, datetime.datetime):
|
||||
raise FieldValidationError("Tue value has to be a string or a datetime")
|
||||
else:
|
||||
return value
|
||||
return value
|
||||
|
||||
def _construct_data(self, emcomponent, fname, datas, cur_value):
|
||||
if (self.now_on_create and cur_value is None) or self.now_on_update:
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
import unittest
|
||||
|
||||
import datetime
|
||||
from lodel.leapi.datahandlers.datas import DateTime
|
||||
from lodel.exceptions import *
|
||||
|
||||
|
||||
class DatetimeTestCase(unittest.TestCase):
|
||||
|
||||
def test_datetime_check_data_value(self):
|
||||
test_datetime = DateTime()
|
||||
|
||||
test_value = '2016-01-01'
|
||||
_, error = test_datetime.check_data_value(test_value)
|
||||
self.assertIsNone(error)
|
||||
for test_value in ['2016-01-01']:
|
||||
value = test_datetime._check_data_value(test_value)
|
||||
self.assertEqual(value, datetime.datetime(2016, 1, 1, 0, 0))
|
||||
|
||||
def test_datetime_check_data_value_with_custom_format(self):
|
||||
test_value = '2016-01-01T10:20:30Z'
|
||||
test_datetime = DateTime(format='%Y-%m-%dT%H:%M:%SZ')
|
||||
_, error = test_datetime.check_data_value(test_value)
|
||||
self.assertIsNone(error)
|
||||
value = test_datetime._check_data_value(test_value)
|
||||
self.assertEqual(value, datetime.datetime(2016, 1, 1, 10, 20, 30))
|
||||
|
||||
def test_check_bad_value(self):
|
||||
test_datetime = DateTime(now_on_create=True, now_on_update=True)
|
||||
test_value = '2016-01-01-test'
|
||||
_, error = test_datetime.check_data_value(test_value)
|
||||
self.assertIsNotNone(error)
|
||||
for test_value in ['2016-01-01-test', '2016/01/01', 2016]:
|
||||
with self.assertRaises(FieldValidationError):
|
||||
test_datetime._check_data_value(test_value)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue