Add test for default argument in PrimaryKeyRelatedField

This commit is contained in:
Benjamin Toueg 2013-09-06 16:27:17 +02:00
parent 916d8ab37d
commit c94cc64043

View File

@ -883,6 +883,34 @@ class ManyRelatedTests(TestCase):
}
self.assertEqual(serializer.data, expected)
def test_default_value(self):
writer = Person()
writer.save()
def callable_default():
return writer.id
class BlogPostSerializer(serializers.ModelSerializer):
title = serializers.CharField(default=callable_default)
writer = serializers.PrimaryKeyRelatedField(many=False, read_only=False, required=False, default=callable_default)
class Meta:
model = BlogPost
fields = ('id', 'title', 'writer')
serializer = BlogPostSerializer(data={})
self.assertTrue(serializer.is_valid())
serializer.save()
expected = {
'id': 1,
'title': str(callable_default()),
'writer': callable_default()
}
self.assertEqual(serializer.data, expected)
class RelatedTraversalTest(TestCase):
def test_nested_traversal(self):