diff options
| author | Tom Christie | 2014-10-31 16:38:39 +0000 | 
|---|---|---|
| committer | Tom Christie | 2014-10-31 16:38:39 +0000 | 
| commit | 207208fedff2457e921ef7d825ea7c3933b5dd6e (patch) | |
| tree | 82ef4afacbc78d7af6f13fb73342794a1102415f /tests | |
| parent | 11075d37709d1ee41f14361cb521ff8d1aa0cc1d (diff) | |
| download | django-rest-framework-207208fedff2457e921ef7d825ea7c3933b5dd6e.tar.bz2 | |
Lazy loading of fields and validators. Closes #1963.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_fields.py | 4 | ||||
| -rw-r--r-- | tests/test_model_serializer.py | 4 | ||||
| -rw-r--r-- | tests/test_validators.py | 16 | 
3 files changed, 16 insertions, 8 deletions
| diff --git a/tests/test_fields.py b/tests/test_fields.py index 3e102ab5..96d09900 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -85,7 +85,7 @@ class TestSource:          class ExampleSerializer(serializers.Serializer):              example_field = serializers.CharField(source='example_field')          with pytest.raises(AssertionError) as exc_info: -            ExampleSerializer() +            ExampleSerializer().fields          assert str(exc_info.value) == (              "It is redundant to specify `source='example_field'` on field "              "'CharField' in serializer 'ExampleSerializer', because it is the " @@ -1018,7 +1018,7 @@ class TestSerializerMethodField:              example_field = serializers.SerializerMethodField('get_example_field')          with pytest.raises(AssertionError) as exc_info: -            ExampleSerializer() +            ExampleSerializer().fields          assert str(exc_info.value) == (              "It is redundant to specify `get_example_field` on "              "SerializerMethodField 'example_field' in serializer " diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index 18170bc0..b8b621be 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -181,7 +181,7 @@ class TestRegularFieldMappings(TestCase):                  fields = ('auto_field', 'invalid')          with self.assertRaises(ImproperlyConfigured) as excinfo: -            TestSerializer() +            TestSerializer().fields          expected = 'Field name `invalid` is not valid for model `ModelBase`.'          assert str(excinfo.exception) == expected @@ -198,7 +198,7 @@ class TestRegularFieldMappings(TestCase):                  fields = ('auto_field',)          with self.assertRaises(ImproperlyConfigured) as excinfo: -            TestSerializer() +            TestSerializer().fields          expected = (              'Field `missing` has been declared on serializer '              '`TestSerializer`, but is missing from `Meta.fields`.' diff --git a/tests/test_validators.py b/tests/test_validators.py index 6cc52c83..e6e0b23a 100644 --- a/tests/test_validators.py +++ b/tests/test_validators.py @@ -86,10 +86,12 @@ class TestUniquenessTogetherValidation(TestCase):      def test_repr(self):          serializer = UniquenessTogetherSerializer()          expected = dedent(""" -            UniquenessTogetherSerializer(validators=[<UniqueTogetherValidator(queryset=UniquenessTogetherModel.objects.all(), fields=('race_name', 'position'))>]): +            UniquenessTogetherSerializer():                  id = IntegerField(label='ID', read_only=True)                  race_name = CharField(max_length=100)                  position = IntegerField() +                class Meta: +                    validators = [<UniqueTogetherValidator(queryset=UniquenessTogetherModel.objects.all(), fields=('race_name', 'position'))>]          """)          assert repr(serializer) == expected @@ -173,10 +175,12 @@ class TestUniquenessForDateValidation(TestCase):      def test_repr(self):          serializer = UniqueForDateSerializer()          expected = dedent(""" -            UniqueForDateSerializer(validators=[<UniqueForDateValidator(queryset=UniqueForDateModel.objects.all(), field='slug', date_field='published')>]): +            UniqueForDateSerializer():                  id = IntegerField(label='ID', read_only=True)                  slug = CharField(max_length=100)                  published = DateField(required=True) +                class Meta: +                    validators = [<UniqueForDateValidator(queryset=UniqueForDateModel.objects.all(), field='slug', date_field='published')>]          """)          assert repr(serializer) == expected @@ -231,10 +235,12 @@ class TestHiddenFieldUniquenessForDateValidation(TestCase):          serializer = TestSerializer()          expected = dedent(""" -            TestSerializer(validators=[<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]): +            TestSerializer():                  id = IntegerField(label='ID', read_only=True)                  slug = CharField(max_length=100)                  published = HiddenField(default=CreateOnlyDefault(<function now>)) +                class Meta: +                    validators = [<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]          """)          assert repr(serializer) == expected @@ -246,9 +252,11 @@ class TestHiddenFieldUniquenessForDateValidation(TestCase):          serializer = TestSerializer()          expected = dedent(""" -            TestSerializer(validators=[<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]): +            TestSerializer():                  id = IntegerField(label='ID', read_only=True)                  slug = CharField(max_length=100)                  published = DateTimeField(default=CreateOnlyDefault(<function now>), read_only=True) +                class Meta: +                    validators = [<UniqueForDateValidator(queryset=HiddenFieldUniqueForDateModel.objects.all(), field='slug', date_field='published')>]          """)          assert repr(serializer) == expected | 
