add test case around ensuring proper field inference for boolean model field types

This commit is contained in:
dpetzel 2013-10-18 21:10:49 -04:00
parent c3aeb16557
commit 735c75abb9
2 changed files with 33 additions and 0 deletions

View File

@ -70,6 +70,7 @@ class Comment(RESTFrameworkModel):
class ActionItem(RESTFrameworkModel): class ActionItem(RESTFrameworkModel):
title = models.CharField(max_length=200) title = models.CharField(max_length=200)
started = models.NullBooleanField(default=False)
done = models.BooleanField(default=False) done = models.BooleanField(default=False)
info = CustomField(default='---', max_length=12) info = CustomField(default='---', max_length=12)

View File

@ -1720,3 +1720,35 @@ class TestSerializerTransformMethods(TestCase):
'b_renamed': None, 'b_renamed': None,
} }
) )
class BoolenFieldTypeTest(TestCase):
'''
Ensure the various Boolean based model fields are rendered as the proper
field type
'''
def setUp(self):
'''
Setup an ActionItemSerializer for BooleanTesting
'''
data = {
'title': 'b' * 201,
}
self.serializer = ActionItemSerializer(data=data)
def test_booleanfield_type(self):
'''
Test that BooleanField is infered from models.BooleanField
'''
bfield = self.serializer.get_fields()['done']
self.assertEqual(type(bfield), fields.BooleanField)
def test_nullbooleanfield_type(self):
'''
Test that BooleanField is infered from models.NullBooleanField
https://groups.google.com/forum/#!topic/django-rest-framework/D9mXEftpuQ8
'''
bfield = self.serializer.get_fields()['started']
self.assertEqual(type(bfield), fields.BooleanField)