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")
 | 
