diff options
| author | Alex | 2013-11-12 23:40:24 +0000 |
|---|---|---|
| committer | Alex | 2013-11-12 23:40:24 +0000 |
| commit | 5136798a040fc306a37b562c7cd629ab34bc02e3 (patch) | |
| tree | ae51dec9e5ee4bcebbd22d1383602d66f06a996b /rest_framework/tests/test_serializer.py | |
| parent | d1dc68d7550e90ba56a3122f8de1f38bb5aa1e3a (diff) | |
| parent | 8552e79d7b62ca7f0edd131d3049ca220d879d48 (diff) | |
| download | django-rest-framework-5136798a040fc306a37b562c7cd629ab34bc02e3.tar.bz2 | |
Merge branch 'master' into allow-aggregate-ordering
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
| -rw-r--r-- | rest_framework/tests/test_serializer.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py index 29c08fbc..1f85a474 100644 --- a/rest_framework/tests/test_serializer.py +++ b/rest_framework/tests/test_serializer.py @@ -511,6 +511,33 @@ class CustomValidationTests(TestCase): self.assertFalse(serializer.is_valid()) self.assertEqual(serializer.errors, {'email': ['Enter a valid email address.']}) + def test_partial_update(self): + """ + Make sure that validate_email isn't called when partial=True and email + isn't found in data. + """ + initial_data = { + 'email': 'tom@example.com', + 'content': 'A test comment', + 'created': datetime.datetime(2012, 1, 1) + } + + serializer = self.CommentSerializerWithFieldValidator(data=initial_data) + self.assertEqual(serializer.is_valid(), True) + instance = serializer.object + + new_content = 'An *updated* test comment' + partial_data = { + 'content': new_content + } + + serializer = self.CommentSerializerWithFieldValidator(instance=instance, + data=partial_data, + partial=True) + self.assertEqual(serializer.is_valid(), True) + instance = serializer.object + self.assertEqual(instance.content, new_content) + class PositiveIntegerAsChoiceTests(TestCase): def test_positive_integer_in_json_is_correctly_parsed(self): |
