Use ForeignKeyTargetWithSourcesSerializer in relations/pk tests

When checking the expected data, we now must ensure that the nested
models are serialized correctly also.
This commit is contained in:
Rob Golding 2018-01-28 21:01:15 +00:00
parent c36e2eabe9
commit c1cc3ada7b
No known key found for this signature in database
GPG Key ID: 8CC8F8E9495DE340

View File

@ -227,9 +227,13 @@ class PKForeignKeyTests(TestCase):
def test_reverse_foreign_key_retrieve(self): def test_reverse_foreign_key_retrieve(self):
queryset = ForeignKeyTarget.objects.all() queryset = ForeignKeyTarget.objects.all()
serializer = ForeignKeyTargetSerializer(queryset, many=True) serializer = ForeignKeyTargetWithSourcesSerializer(queryset, many=True)
expected = [ expected = [
{'id': 1, 'name': 'target-1', 'sources': [1, 2, 3]}, {'id': 1, 'name': 'target-1', 'sources': [
{'id': 1, 'name': 'source-1', 'target': 1},
{'id': 2, 'name': 'source-2', 'target': 1},
{'id': 3, 'name': 'source-3', 'target': 1},
]},
{'id': 2, 'name': 'target-2', 'sources': []}, {'id': 2, 'name': 'target-2', 'sources': []},
] ]
with self.assertNumQueries(3): with self.assertNumQueries(3):
@ -237,7 +241,7 @@ class PKForeignKeyTests(TestCase):
def test_reverse_foreign_key_retrieve_prefetch_related(self): def test_reverse_foreign_key_retrieve_prefetch_related(self):
queryset = ForeignKeyTarget.objects.all().prefetch_related('sources') queryset = ForeignKeyTarget.objects.all().prefetch_related('sources')
serializer = ForeignKeyTargetSerializer(queryset, many=True) serializer = ForeignKeyTargetWithSourcesSerializer(queryset, many=True)
with self.assertNumQueries(2): with self.assertNumQueries(2):
serializer.data serializer.data