def test_invalid_prepare_value(self): "Check form field raises exception when given an invalid value" form = test_forms.TagFieldForm() with self.assertRaises(ValueError) as cm: form["tags"].field.prepare_value(["tag", "list", "fails"]) self.assertEqual( six.text_type(cm.exception), "Tag field could not prepare unexpected value" )
def test_initial_string(self): "Check initial tag string" form = test_forms.TagFieldForm(initial={"tags": "red, blue"}) self.assertHTMLEqual( six.text_type(form["tags"]), ( '<input autocomplete="off" ' 'data-tag-options="{"required": true}" ' 'data-tagulous="true" ' 'id="id_tags" name="tags" {{required}}type="text" ' 'value="red, blue" />' ), )
def test_render_value(self): "Check widget renders value" form = test_forms.TagFieldForm(data={"tags": "run, walk"}) self.assertHTMLEqual( six.text_type(form["tags"]), ( '<input autocomplete="off" ' 'data-tag-options="{"required": true}" ' 'data-tagulous="true" ' 'id="id_tags" name="tags" {{required}}type="text" ' 'value="run, walk" />' ), )
def test_initial_tag_list(self): "Check initial tag list" t1 = self.tag_model.objects.create(name="red") t2 = self.tag_model.objects.create(name="blue") form = test_forms.TagFieldForm(initial={"tags": [t1, t2]}) self.assertHTMLEqual( six.text_type(form["tags"]), ( '<input autocomplete="off" ' 'data-tag-options="{"required": true}" ' 'data-tagulous="true" ' 'id="id_tags" name="tags" {{required}}type="text" ' 'value="blue, red" />' ), )
def test_initial_tag_queryset(self): "Check initial tag queryset" self.tag_model.objects.create(name="red") self.tag_model.objects.create(name="blue") tags = self.tag_model.objects.all() form = test_forms.TagFieldForm(initial={"tags": tags}) self.assertHTMLEqual( str(form["tags"]), ( '<input autocomplete="off" ' 'data-tag-options="{"required": true}" ' 'data-tagulous="true" ' 'id="id_tags" name="tags" {{required}}type="text" ' 'value="blue, red" />' ), )
def test_response(self): "Test response is as expected" form = test_forms.TagFieldForm(data={"tags": "red, blue"}) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data["tags"], ["blue", "red"])