From d9633c6817e4c4a3085398c8a52293011670ef46 Mon Sep 17 00:00:00 2001 From: Piotr Jakimiak Date: Fri, 5 Sep 2014 11:08:34 +0200 Subject: Fix returning None when allow_none is True in CharField --- tests/test_fields.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests/test_fields.py') diff --git a/tests/test_fields.py b/tests/test_fields.py index 094ac1eb..b8c9954e 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -54,6 +54,10 @@ class ChoiceFieldModel(models.Model): choice = models.CharField(choices=SAMPLE_CHOICES, blank=True, max_length=255) +class NullableCharFieldModel(models.Model): + char = models.CharField(null=True, blank=True, max_length=4) + + class ChoiceFieldModelSerializer(serializers.ModelSerializer): class Meta: model = ChoiceFieldModel @@ -1004,6 +1008,20 @@ class BooleanField(TestCase): self.assertFalse(BooleanRequiredSerializer(data={}).is_valid()) +class ModelCharField(TestCase): + """ + Tests for CharField + """ + def test_none_serializing(self): + class CharFieldSerializer(serializers.ModelSerializer): + class Meta: + model = NullableCharFieldModel + serializer = CharFieldSerializer(data={'char': None}) + self.assertTrue(serializer.fields['char'].allow_none) + self.assertTrue(serializer.is_valid()) + self.assertIsNone(serializer.data['char']) + + class SerializerMethodFieldTest(TestCase): """ Tests for the SerializerMethodField field_to_native() behavior -- cgit v1.2.3 From e39422e35fa81c79c149570e3d7e5cf9e0a0909b Mon Sep 17 00:00:00 2001 From: Piotr Jakimiak Date: Fri, 5 Sep 2014 11:27:36 +0200 Subject: Check object in tests --- tests/test_fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/test_fields.py') diff --git a/tests/test_fields.py b/tests/test_fields.py index b8c9954e..20d5a97a 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1019,7 +1019,7 @@ class ModelCharField(TestCase): serializer = CharFieldSerializer(data={'char': None}) self.assertTrue(serializer.fields['char'].allow_none) self.assertTrue(serializer.is_valid()) - self.assertIsNone(serializer.data['char']) + self.assertIsNone(serializer.object.char) class SerializerMethodFieldTest(TestCase): -- cgit v1.2.3 From c3b841ae449c66102be7305416eca8acb22c8c42 Mon Sep 17 00:00:00 2001 From: Piotr Jakimiak Date: Fri, 5 Sep 2014 14:08:11 +0200 Subject: Use Serializer instead of ModelSerializer --- tests/test_fields.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'tests/test_fields.py') diff --git a/tests/test_fields.py b/tests/test_fields.py index 20d5a97a..8bf9c56a 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -54,10 +54,6 @@ class ChoiceFieldModel(models.Model): choice = models.CharField(choices=SAMPLE_CHOICES, blank=True, max_length=255) -class NullableCharFieldModel(models.Model): - char = models.CharField(null=True, blank=True, max_length=4) - - class ChoiceFieldModelSerializer(serializers.ModelSerializer): class Meta: model = ChoiceFieldModel @@ -1013,13 +1009,12 @@ class ModelCharField(TestCase): Tests for CharField """ def test_none_serializing(self): - class CharFieldSerializer(serializers.ModelSerializer): - class Meta: - model = NullableCharFieldModel + class CharFieldSerializer(serializers.Serializer): + char = serializers.CharField(allow_none=True, required=False) serializer = CharFieldSerializer(data={'char': None}) self.assertTrue(serializer.fields['char'].allow_none) self.assertTrue(serializer.is_valid()) - self.assertIsNone(serializer.object.char) + self.assertIsNone(serializer.object['char']) class SerializerMethodFieldTest(TestCase): -- cgit v1.2.3 From cb3cc00edd4a7a7e8b583a9ba3a823fb6ca76346 Mon Sep 17 00:00:00 2001 From: Piotr Jakimiak Date: Fri, 5 Sep 2014 14:36:35 +0200 Subject: Delete useless assert --- tests/test_fields.py | 1 - 1 file changed, 1 deletion(-) (limited to 'tests/test_fields.py') diff --git a/tests/test_fields.py b/tests/test_fields.py index 8bf9c56a..0ddbe48b 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1012,7 +1012,6 @@ class ModelCharField(TestCase): class CharFieldSerializer(serializers.Serializer): char = serializers.CharField(allow_none=True, required=False) serializer = CharFieldSerializer(data={'char': None}) - self.assertTrue(serializer.fields['char'].allow_none) self.assertTrue(serializer.is_valid()) self.assertIsNone(serializer.object['char']) -- cgit v1.2.3