aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_serializer.py
diff options
context:
space:
mode:
authorXavier Ordoquy2014-02-18 11:42:35 +0100
committerXavier Ordoquy2014-02-18 11:42:35 +0100
commitb2f0f4fcf49d457aefc21960f62fcb8f2cf6770d (patch)
tree9adabfaa8c2a73e9b1304f8d699a3f70f284634a /rest_framework/tests/test_serializer.py
parent5ae94547bc08ade94c3f1df2223c0b8261cae59f (diff)
parent822eb39599b248c68573c3095639a831ab6df99a (diff)
downloaddjango-rest-framework-b2f0f4fcf49d457aefc21960f62fcb8f2cf6770d.tar.bz2
Merge remote-tracking branch 'reference/master' into feature/django_1_7
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
-rw-r--r--rest_framework/tests/test_serializer.py29
1 files changed, 22 insertions, 7 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py
index dbbb9a8f..47082190 100644
--- a/rest_framework/tests/test_serializer.py
+++ b/rest_framework/tests/test_serializer.py
@@ -91,6 +91,15 @@ class ActionItemSerializer(serializers.ModelSerializer):
class Meta:
model = ActionItem
+class ActionItemSerializerOptionalFields(serializers.ModelSerializer):
+ """
+ Intended to test that fields with `required=False` are excluded from validation.
+ """
+ title = serializers.CharField(required=False)
+
+ class Meta:
+ model = ActionItem
+ fields = ('title',)
class ActionItemSerializerCustomRestore(serializers.ModelSerializer):
@@ -308,7 +317,13 @@ class BasicTests(TestCase):
serializer.save()
self.assertIsNotNone(serializer.data.get('id',None), 'Model is saved. `id` should be set.')
-
+ def test_fields_marked_as_not_required_are_excluded_from_validation(self):
+ """
+ Check that fields with `required=False` are included in list of exclusions.
+ """
+ serializer = ActionItemSerializerOptionalFields(self.actionitem)
+ exclusions = serializer.get_validation_exclusions()
+ self.assertTrue('title' in exclusions, '`title` field was marked `required=False` and should be excluded')
class DictStyleSerializer(serializers.Serializer):
@@ -1811,14 +1826,14 @@ class SerializerDefaultTrueBoolean(TestCase):
self.assertEqual(serializer.data['cat'], False)
self.assertEqual(serializer.data['dog'], False)
-
+
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
@@ -1834,11 +1849,11 @@ class BoolenFieldTypeTest(TestCase):
'''
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
-
+ Test that BooleanField is infered from models.NullBooleanField
+
https://groups.google.com/forum/#!topic/django-rest-framework/D9mXEftpuQ8
'''
bfield = self.serializer.get_fields()['started']