aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests
diff options
context:
space:
mode:
authorCarlton Gibson2014-04-09 15:51:00 +0200
committerCarlton Gibson2014-04-09 15:51:00 +0200
commitc1ac65edce1bcfff4c87df3bb9c4df14fe8e9d6c (patch)
tree44780064e93d852f7432493fe264a8e5d9f323cc /rest_framework/tests
parent60ac3d7a76c4132d97d7e8047e25be253018280e (diff)
downloaddjango-rest-framework-c1ac65edce1bcfff4c87df3bb9c4df14fe8e9d6c.tar.bz2
Adds test that blank option is added when required=False on RelatedFields
Diffstat (limited to 'rest_framework/tests')
-rw-r--r--rest_framework/tests/test_relations.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/rest_framework/tests/test_relations.py b/rest_framework/tests/test_relations.py
index f52e0e1e..c421096a 100644
--- a/rest_framework/tests/test_relations.py
+++ b/rest_framework/tests/test_relations.py
@@ -118,3 +118,25 @@ class RelatedFieldSourceTests(TestCase):
(serializers.ModelSerializer,), attrs)
with self.assertRaises(AttributeError):
TestSerializer(data={'name': 'foo'})
+
+
+class RelatedFieldChoicesTests(TestCase):
+ """
+ Tests for #1408 "Web browseable API doesn't have blank option on drop down list box"
+ https://github.com/tomchristie/django-rest-framework/issues/1408
+ """
+ def test_blank_option_is_added_to_choice_if_required_equals_false(self):
+ """
+
+ """
+ post = BlogPost(title="Checking blank option is added")
+ post.save()
+
+ queryset = BlogPost.objects.all()
+ field = serializers.RelatedField(required=False, queryset=queryset)
+
+ choice_count = BlogPost.objects.count()
+ widget_count = len(field.widget.choices)
+
+ self.assertEqual(widget_count, choice_count + 1, 'BLANK_CHOICE_DASH option should have been added')
+