aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTom Christie2014-10-31 16:38:39 +0000
committerTom Christie2014-10-31 16:38:39 +0000
commit207208fedff2457e921ef7d825ea7c3933b5dd6e (patch)
tree82ef4afacbc78d7af6f13fb73342794a1102415f /tests
parent11075d37709d1ee41f14361cb521ff8d1aa0cc1d (diff)
downloaddjango-rest-framework-207208fedff2457e921ef7d825ea7c3933b5dd6e.tar.bz2
Lazy loading of fields and validators. Closes #1963.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_fields.py4
-rw-r--r--tests/test_model_serializer.py4
-rw-r--r--tests/test_validators.py16
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