diff options
Diffstat (limited to 'rest_framework/tests/test_relations.py')
| -rw-r--r-- | rest_framework/tests/test_relations.py | 100 | 
1 files changed, 0 insertions, 100 deletions
| diff --git a/rest_framework/tests/test_relations.py b/rest_framework/tests/test_relations.py deleted file mode 100644 index d19219c9..00000000 --- a/rest_framework/tests/test_relations.py +++ /dev/null @@ -1,100 +0,0 @@ -""" -General tests for relational fields. -""" -from __future__ import unicode_literals -from django.db import models -from django.test import TestCase -from rest_framework import serializers -from rest_framework.tests.models import BlogPost - - -class NullModel(models.Model): -    pass - - -class FieldTests(TestCase): -    def test_pk_related_field_with_empty_string(self): -        """ -        Regression test for #446 - -        https://github.com/tomchristie/django-rest-framework/issues/446 -        """ -        field = serializers.PrimaryKeyRelatedField(queryset=NullModel.objects.all()) -        self.assertRaises(serializers.ValidationError, field.from_native, '') -        self.assertRaises(serializers.ValidationError, field.from_native, []) - -    def test_hyperlinked_related_field_with_empty_string(self): -        field = serializers.HyperlinkedRelatedField(queryset=NullModel.objects.all(), view_name='') -        self.assertRaises(serializers.ValidationError, field.from_native, '') -        self.assertRaises(serializers.ValidationError, field.from_native, []) - -    def test_slug_related_field_with_empty_string(self): -        field = serializers.SlugRelatedField(queryset=NullModel.objects.all(), slug_field='pk') -        self.assertRaises(serializers.ValidationError, field.from_native, '') -        self.assertRaises(serializers.ValidationError, field.from_native, []) - - -class TestManyRelatedMixin(TestCase): -    def test_missing_many_to_many_related_field(self): -        ''' -        Regression test for #632 - -        https://github.com/tomchristie/django-rest-framework/pull/632 -        ''' -        field = serializers.RelatedField(many=True, read_only=False) - -        into = {} -        field.field_from_native({}, None, 'field_name', into) -        self.assertEqual(into['field_name'], []) - - -# Regression tests for #694 (`source` attribute on related fields) - -class RelatedFieldSourceTests(TestCase): -    def test_related_manager_source(self): -        """ -        Relational fields should be able to use manager-returning methods as their source. -        """ -        BlogPost.objects.create(title='blah') -        field = serializers.RelatedField(many=True, source='get_blogposts_manager') - -        class ClassWithManagerMethod(object): -            def get_blogposts_manager(self): -                return BlogPost.objects - -        obj = ClassWithManagerMethod() -        value = field.field_to_native(obj, 'field_name') -        self.assertEqual(value, ['BlogPost object']) - -    def test_related_queryset_source(self): -        """ -        Relational fields should be able to use queryset-returning methods as their source. -        """ -        BlogPost.objects.create(title='blah') -        field = serializers.RelatedField(many=True, source='get_blogposts_queryset') - -        class ClassWithQuerysetMethod(object): -            def get_blogposts_queryset(self): -                return BlogPost.objects.all() - -        obj = ClassWithQuerysetMethod() -        value = field.field_to_native(obj, 'field_name') -        self.assertEqual(value, ['BlogPost object']) - -    def test_dotted_source(self): -        """ -        Source argument should support dotted.source notation. -        """ -        BlogPost.objects.create(title='blah') -        field = serializers.RelatedField(many=True, source='a.b.c') - -        class ClassWithQuerysetMethod(object): -            a = { -                'b': { -                    'c': BlogPost.objects.all() -                } -            } - -        obj = ClassWithQuerysetMethod() -        value = field.field_to_native(obj, 'field_name') -        self.assertEqual(value, ['BlogPost object']) | 
