mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 20:40:14 +03:00
failing test: optional implicit M2M / QueryDict
This commit is contained in:
parent
8df340908b
commit
0df0516a74
|
@ -22,6 +22,7 @@ from django.utils import six
|
|||
|
||||
from rest_framework import serializers
|
||||
from rest_framework.compat import set_many, unicode_repr
|
||||
from rest_framework.test import APIRequestFactory
|
||||
|
||||
|
||||
def dedent(blocktext):
|
||||
|
@ -776,6 +777,51 @@ class TestIntegration(TestCase):
|
|||
}
|
||||
self.assertEqual(serializer.data, expected)
|
||||
|
||||
def test_many_to_many_not_required(self):
|
||||
class TestSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = RelationalModel
|
||||
fields = '__all__'
|
||||
extra_kwargs = {'many_to_many': {'required': False}}
|
||||
|
||||
new_foreign_key = ForeignKeyTargetModel.objects.create(
|
||||
name='foreign_key'
|
||||
)
|
||||
new_one_to_one = OneToOneTargetModel.objects.create(
|
||||
name='one_to_one'
|
||||
)
|
||||
|
||||
data = {
|
||||
'foreign_key': new_foreign_key.pk,
|
||||
'one_to_one': new_one_to_one.pk,
|
||||
}
|
||||
|
||||
serializer = TestSerializer(data=data)
|
||||
assert serializer.is_valid(), serializer.errors
|
||||
|
||||
def test_many_to_many_not_required_with_querydict(self):
|
||||
class TestSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = RelationalModel
|
||||
fields = '__all__'
|
||||
extra_kwargs = {'many_to_many': {'required': False}}
|
||||
|
||||
new_foreign_key = ForeignKeyTargetModel.objects.create(
|
||||
name='foreign_key'
|
||||
)
|
||||
new_one_to_one = OneToOneTargetModel.objects.create(
|
||||
name='one_to_one'
|
||||
)
|
||||
|
||||
data = {
|
||||
'foreign_key': new_foreign_key.pk,
|
||||
'one_to_one': new_one_to_one.pk,
|
||||
}
|
||||
|
||||
data_querydict = APIRequestFactory().post('', data).POST
|
||||
|
||||
serializer = TestSerializer(data=data_querydict)
|
||||
assert serializer.is_valid(), serializer.errors
|
||||
|
||||
# Tests for bulk create using `ListSerializer`.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user