diff options
Diffstat (limited to 'tests/test_nullable_fields.py')
| -rw-r--r-- | tests/test_nullable_fields.py | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/tests/test_nullable_fields.py b/tests/test_nullable_fields.py new file mode 100644 index 00000000..0c133fc2 --- /dev/null +++ b/tests/test_nullable_fields.py @@ -0,0 +1,30 @@ +from django.core.urlresolvers import reverse + +from django.conf.urls import patterns, url +from rest_framework.test import APITestCase +from tests.models import NullableForeignKeySource +from tests.serializers import NullableFKSourceSerializer +from tests.views import NullableFKSourceDetail + + +urlpatterns = patterns( +    '', +    url(r'^objects/(?P<pk>\d+)/$', NullableFKSourceDetail.as_view(), name='object-detail'), +) + + +class NullableForeignKeyTests(APITestCase): +    """ +    DRF should be able to handle nullable foreign keys when a test +    Client POST/PUT request is made with its own serialized object. +    """ +    urls = 'tests.test_nullable_fields' + +    def test_updating_object_with_null_fk(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) | 
