From 505f1173d0c5a20ea804cad3b503c4bf55cd04d8 Mon Sep 17 00:00:00 2001 From: Dustin Farris Date: Wed, 26 Feb 2014 12:08:26 -0500 Subject: Demonstrate problem post/put'ing serialized data that contains 'None' --- rest_framework/tests/test_nullable_fields.py | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 rest_framework/tests/test_nullable_fields.py (limited to 'rest_framework/tests/test_nullable_fields.py') diff --git a/rest_framework/tests/test_nullable_fields.py b/rest_framework/tests/test_nullable_fields.py new file mode 100644 index 00000000..556543d9 --- /dev/null +++ b/rest_framework/tests/test_nullable_fields.py @@ -0,0 +1,30 @@ +from django.core.urlresolvers import reverse + +from rest_framework.compat import patterns, url +from rest_framework.test import APITestCase +from rest_framework.tests.models import NullableForeignKeySource +from rest_framework.tests.serializers import NullableFKSourceSerializer +from rest_framework.tests.views import NullableFKSourceDetail + + +urlpatterns = patterns( + '', + url(r'^objects/(?P\d+)/$', NullableFKSourceDetail.as_view(), name='object-detail'), +) + + +class NullableForeignKeyTests(APITestCase): + """ + DRF should be able to handle nullable fields when a TestClient + POST/PUT request is made with its own serialized object. + """ + urls = 'rest_framework.tests.test_nullable_fields' + + def test_updating_object_with_null_field_value(self): + obj = NullableForeignKeySource(name='example', target=None) + obj.save() + serialized_data = NullableFKSourceSerializer(obj).data + + response = self.client.put(reverse('object-detail', args=[obj.pk]), serialized_data) + + self.assertEqual(response.data, serialized_data) -- cgit v1.2.3 From f126856f65aa86de2c4cc1b1e3bb6a52cebb34b8 Mon Sep 17 00:00:00 2001 From: Dustin Farris Date: Thu, 27 Feb 2014 12:17:32 -0500 Subject: Allow 'None' to pass as a null value in RelatedFields --- rest_framework/tests/test_nullable_fields.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'rest_framework/tests/test_nullable_fields.py') diff --git a/rest_framework/tests/test_nullable_fields.py b/rest_framework/tests/test_nullable_fields.py index 556543d9..6ee55c00 100644 --- a/rest_framework/tests/test_nullable_fields.py +++ b/rest_framework/tests/test_nullable_fields.py @@ -15,12 +15,12 @@ urlpatterns = patterns( class NullableForeignKeyTests(APITestCase): """ - DRF should be able to handle nullable fields when a TestClient - POST/PUT request is made with its own serialized object. + DRF should be able to handle nullable foreign keys when a test + Client POST/PUT request is made with its own serialized object. """ urls = 'rest_framework.tests.test_nullable_fields' - def test_updating_object_with_null_field_value(self): + def test_updating_object_with_null_fk(self): obj = NullableForeignKeySource(name='example', target=None) obj.save() serialized_data = NullableFKSourceSerializer(obj).data -- cgit v1.2.3