Skip to content

Commit

Permalink
remove standalone test, include test case in regressions tfranzel#274
Browse files Browse the repository at this point in the history
diesieben07 committed Jan 31, 2021

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 22d0cf6 commit 5fb9c10
Showing 3 changed files with 33 additions and 261 deletions.
39 changes: 0 additions & 39 deletions tests/test_readonly_related_field.py

This file was deleted.

222 changes: 0 additions & 222 deletions tests/test_readonly_related_field.yml

This file was deleted.

33 changes: 33 additions & 0 deletions tests/test_regressions.py
Original file line number Diff line number Diff line change
@@ -1293,3 +1293,36 @@ def view_func(request, format=None):
assert 'explode' in parameter
assert 'style' in parameter
assert parameter['schema']['type'] == 'array'


def test_incorrect_foreignkey_type_on_readonly_field(no_warnings):
class ReferencingModel(models.Model):
id = models.UUIDField(primary_key=True)
referenced_model = models.ForeignKey(SimpleModel, on_delete=models.CASCADE)
referenced_model_ro = models.ForeignKey(SimpleModel, on_delete=models.CASCADE)
referenced_model_m2m = models.ManyToManyField(SimpleModel)
referenced_model_m2m_ro = models.ManyToManyField(SimpleModel)

class ReferencingModelSerializer(serializers.ModelSerializer):
indirect_referenced_model_ro = serializers.PrimaryKeyRelatedField(
source='referenced_model',
read_only=True,
)

class Meta:
fields = '__all__'
read_only_fields = ['id', 'referenced_model_ro', 'referenced_model_m2m_ro']
model = ReferencingModel

class ReferencingModelViewset(viewsets.ModelViewSet):
serializer_class = ReferencingModelSerializer
queryset = ReferencingModel.objects.all()

schema = generate_schema('/x/', ReferencingModelViewset)
properties = schema['components']['schemas']['ReferencingModel']['properties']

assert properties['referenced_model']['type'] == 'integer'
assert properties['referenced_model_ro']['type'] == 'integer'
assert properties['referenced_model_m2m']['items']['type'] == 'integer'
assert properties['referenced_model_m2m_ro']['items']['type'] == 'integer'
assert properties['indirect_referenced_model_ro']['type'] == 'integer'

0 comments on commit 5fb9c10

Please sign in to comment.