diff options
| author | Tom Christie | 2013-12-13 12:15:23 -0800 |
|---|---|---|
| committer | Tom Christie | 2013-12-13 12:15:23 -0800 |
| commit | 8b2f0cc3d7019bd96b034d10edd53d9cb2a03888 (patch) | |
| tree | fc7706a16f563b1941d09bd708ad449be7fba218 /rest_framework/tests/test_serializer.py | |
| parent | ca244ad614e2f6fb4fef1dc9987be996d2624303 (diff) | |
| parent | 90edcbf938ed8d6f3b783372c17e60bbf0761b61 (diff) | |
| download | django-rest-framework-8b2f0cc3d7019bd96b034d10edd53d9cb2a03888.tar.bz2 | |
Merge pull request #1291 from kevin-brown/issue_1101
Fix default values always being False for browsable API
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
| -rw-r--r-- | rest_framework/tests/test_serializer.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py index eca467ee..14d1c664 100644 --- a/rest_framework/tests/test_serializer.py +++ b/rest_framework/tests/test_serializer.py @@ -1743,3 +1743,42 @@ class TestSerializerTransformMethods(TestCase): 'b_renamed': None, } ) + + +class DefaultTrueBooleanModel(models.Model): + cat = models.BooleanField(default=True) + dog = models.BooleanField(default=False) + + +class SerializerDefaultTrueBoolean(TestCase): + + def setUp(self): + super(SerializerDefaultTrueBoolean, self).setUp() + + class DefaultTrueBooleanSerializer(serializers.ModelSerializer): + class Meta: + model = DefaultTrueBooleanModel + fields = ('cat', 'dog') + + self.default_true_boolean_serializer = DefaultTrueBooleanSerializer + + def test_enabled_as_false(self): + serializer = self.default_true_boolean_serializer(data={'cat': False, + 'dog': False}) + self.assertEqual(serializer.is_valid(), True) + self.assertEqual(serializer.data['cat'], False) + self.assertEqual(serializer.data['dog'], False) + + def test_enabled_as_true(self): + serializer = self.default_true_boolean_serializer(data={'cat': True, + 'dog': True}) + self.assertEqual(serializer.is_valid(), True) + self.assertEqual(serializer.data['cat'], True) + self.assertEqual(serializer.data['dog'], True) + + def test_enabled_partial(self): + serializer = self.default_true_boolean_serializer(data={'cat': False}, + partial=True) + self.assertEqual(serializer.is_valid(), True) + self.assertEqual(serializer.data['cat'], False) + self.assertEqual(serializer.data['dog'], False) |
