aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authordpetzel2013-10-18 21:10:49 -0400
committerdpetzel2013-10-18 21:10:49 -0400
commit735c75abb9e612fa0f1e6bdfa4283610752056d2 (patch)
tree8444e75ffefb611e233836234f536af030d94b7c /rest_framework
parentc3aeb16557f2cbb1c1218b5af7bab646e4958234 (diff)
downloaddjango-rest-framework-735c75abb9e612fa0f1e6bdfa4283610752056d2.tar.bz2
add test case around ensuring proper field inference for boolean model field types
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/tests/models.py1
-rw-r--r--rest_framework/tests/test_serializer.py32
2 files changed, 33 insertions, 0 deletions
diff --git a/rest_framework/tests/models.py b/rest_framework/tests/models.py
index 1598ecd9..32a726c0 100644
--- a/rest_framework/tests/models.py
+++ b/rest_framework/tests/models.py
@@ -70,6 +70,7 @@ class Comment(RESTFrameworkModel):
class ActionItem(RESTFrameworkModel):
title = models.CharField(max_length=200)
+ started = models.NullBooleanField(default=False)
done = models.BooleanField(default=False)
info = CustomField(default='---', max_length=12)
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py
index 1f85a474..a7ea3ac0 100644
--- a/rest_framework/tests/test_serializer.py
+++ b/rest_framework/tests/test_serializer.py
@@ -1720,3 +1720,35 @@ class TestSerializerTransformMethods(TestCase):
'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)