aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/serializer.py
diff options
context:
space:
mode:
authorTom Christie2013-01-03 14:05:36 -0800
committerTom Christie2013-01-03 14:05:36 -0800
commit6da21fa79604ffa7dc57267effa3afb59c63e62b (patch)
tree097158438ea23789c1dbe8efed7b735fa1c26e1e /rest_framework/tests/serializer.py
parenta122856d4610492670838298e40a2081f5ef9f75 (diff)
parent3873bc8a857829a12b2bb6a34610ab5295887660 (diff)
downloaddjango-rest-framework-6da21fa79604ffa7dc57267effa3afb59c63e62b.tar.bz2
Merge pull request #541 from yprez/default_and_partial_serializers2
Fix "default" values and partial serializers. Fixes #532.
Diffstat (limited to 'rest_framework/tests/serializer.py')
-rw-r--r--rest_framework/tests/serializer.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py
index 701b2f47..8767385e 100644
--- a/rest_framework/tests/serializer.py
+++ b/rest_framework/tests/serializer.py
@@ -340,7 +340,6 @@ class ModelValidationTests(TestCase):
self.assertTrue(photo_serializer.save())
-
class RegexValidationTest(TestCase):
def test_create_failed(self):
serializer = BookSerializer(data={'isbn': '1234567890'})
@@ -551,6 +550,21 @@ class DefaultValueTests(TestCase):
self.assertEquals(instance.pk, 1)
self.assertEquals(instance.text, 'overridden')
+ def test_partial_update_default(self):
+ """ Regression test for issue #532 """
+ data = {'text': 'overridden'}
+ serializer = self.serializer_class(data=data, partial=True)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+
+ data = {'extra': 'extra_value'}
+ serializer = self.serializer_class(instance=instance, data=data, partial=True)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+
+ self.assertEquals(instance.extra, 'extra_value')
+ self.assertEquals(instance.text, 'overridden')
+
class CallableDefaultValueTests(TestCase):
def setUp(self):