Add tests

This commit is contained in:
Florent Lebreton
2013-09-19 16:23:57 +02:00
parent 5c17f753e7
commit a8ef50d8d0
6 changed files with 197 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
import json
import django
from django.test import SimpleTestCase
from django.core.exceptions import ValidationError
from ..widgets import JSignatureWidget
from ..fields import JSignatureField
from ..forms import JSignatureField as JSignatureFormField
class JSignatureFieldTest(SimpleTestCase):
def test_to_python(self):
f = JSignatureField()
# Empty values
for val in ['', [], '[]']:
self.assertIsNone(f.to_python(val))
# Correct values
val = [{"x":[1,2], "y":[3,4]}]
self.assertEquals(val, f.to_python(val))
val_str = '[{"x":[1,2], "y":[3,4]}]'
self.assertEquals(val, f.to_python(val_str))
# Incorrect values
val = 'foo'
self.assertRaises(ValidationError, f.to_python, val)
def test_get_prep_value(self):
f = JSignatureField()
# Empty values
for val in ['', [], '[]']:
self.assertIsNone(f.get_prep_value(val))
# Correct values
val = [{"x":[1,2], "y":[3,4]}]
val_prep = f.get_prep_value(val)
self.assertIsInstance(val_prep, basestring)
self.assertEquals(val, json.loads(val_prep))
val_str = '[{"x":[1,2], "y":[3,4]}]'
val_prep = f.get_prep_value(val_str)
self.assertIsInstance(val_prep, basestring)
self.assertEquals(val, json.loads(val_prep))
# Incorrect values
val = type('Foo')
self.assertRaises(ValidationError, f.get_prep_value, val)
def test_formfield(self):
f = JSignatureField()
self.assertTrue(issubclass(f.formfield().__class__, JSignatureFormField))