28 lines
822 B
Python
28 lines
822 B
Python
"""Test time utils"""
|
|
from datetime import timedelta
|
|
|
|
from django.core.exceptions import ValidationError
|
|
from django.test import TestCase
|
|
|
|
from passbook.lib.utils.time import timedelta_from_string, timedelta_string_validator
|
|
|
|
|
|
class TestTimeUtils(TestCase):
|
|
"""Test time-utils"""
|
|
|
|
def test_valid(self):
|
|
"""Test valid expression"""
|
|
expr = "hours=3;minutes=1"
|
|
expected = timedelta(hours=3, minutes=1)
|
|
self.assertEqual(timedelta_from_string(expr), expected)
|
|
|
|
def test_invalid(self):
|
|
"""Test invalid expression"""
|
|
with self.assertRaises(ValueError):
|
|
timedelta_from_string("foo")
|
|
|
|
def test_validation(self):
|
|
"""Test Django model field validator"""
|
|
with self.assertRaises(ValidationError):
|
|
timedelta_string_validator("foo")
|