#3788 Added failing TestCase for default value being ignored at BooleanField

This commit is contained in:
Vojtech Oram 2016-06-23 13:53:16 +02:00
parent 879652ec2e
commit 6b2230abcc

View File

@ -4,6 +4,8 @@ from __future__ import unicode_literals
import pickle import pickle
import pytest import pytest
from django.db import models
from django.http import QueryDict
from rest_framework import serializers from rest_framework import serializers
from rest_framework.compat import unicode_repr from rest_framework.compat import unicode_repr
@ -309,3 +311,26 @@ class TestCacheSerializerData:
pickled = pickle.dumps(serializer.data) pickled = pickle.dumps(serializer.data)
data = pickle.loads(pickled) data = pickle.loads(pickled)
assert data == {'field1': 'a', 'field2': 'b'} assert data == {'field1': 'a', 'field2': 'b'}
class DefaultTrueBooleanModel(models.Model):
required_data = models.CharField(max_length=255)
visible = models.BooleanField(default=True)
class TestSerializerDefaultTrueBoolean:
def setup(self):
class DefaultTrueBooleanSerializer(serializers.ModelSerializer):
class Meta:
model = DefaultTrueBooleanModel
fields = ('required_data', 'visible')
self.default_true_boolean_serializer = DefaultTrueBooleanSerializer
def test_default_value(self):
data = QueryDict('', mutable=True)
data.update({'required_data': 'foo'})
serializer = self.default_true_boolean_serializer(data=data)
serializer.is_valid()
assert serializer.data['visible']