From c529d017efaf0d7b92f6cd239014f9d8516c5801 Mon Sep 17 00:00:00 2001 From: Nathan Hubbell Date: Thu, 4 Sep 2014 12:01:06 -0700 Subject: [PATCH] Update test_serializer.py --- tests/test_serializer.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/test_serializer.py b/tests/test_serializer.py index 90f37cf2e..c4144cb0b 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -11,7 +11,7 @@ from tests.models import ( HasPositiveIntegerAsChoice, Album, ActionItem, Anchor, BasicModel, BlankFieldModel, BlogPost, BlogPostComment, Book, CallableDefaultValueModel, DefaultValueModel, ManyToManyModel, Person, ReadOnlyManyToManyModel, Photo, - RESTFrameworkModel, ForeignKeySource + RESTFrameworkModel, ForeignKeySource, PartialUpdateModel ) from tests.models import BasicModelSerializer import datetime @@ -192,6 +192,12 @@ class HyperlinkedForeignKeySourceSerializer(serializers.HyperlinkedModelSerializ model = ForeignKeySource +class PartialUpdateSerializer(serializers.ModelSerializer): + class Meta: + model = PartialUpdateModel + fields = ['text', 'extra', 'textra', 'text_extra'] + + class BasicTests(TestCase): def setUp(self): self.comment = Comment( @@ -348,7 +354,14 @@ class BasicTests(TestCase): serializer = ActionItemSerializerOptionalFields(self.actionitem) exclusions = serializer.get_validation_exclusions() self.assertTrue('title' in exclusions, '`title` field was marked `required=False` and should be excluded') - + + def test_partial_update(self): + serializer = PartialUpdateSerializer(data={'text': 'blah', 'extra': 'blah blah', 'textra': 'blargh', + 'text_extra': 'blarghal'}) + serializer.save() + entry = PartialUpdateModel.objects.get(text='blah') + second_serializer = PartialUpdateSerializer(entry, data={'textra': 'something different'}, partial=True) + self.assertEquals(True, second_serializer.is_valid()) class DictStyleSerializer(serializers.Serializer): """