diff --git a/wagtail/wagtailadmin/tests/test_blocks.py b/wagtail/wagtailadmin/tests/test_blocks.py new file mode 100644 index 000000000..eb9c74a1f --- /dev/null +++ b/wagtail/wagtailadmin/tests/test_blocks.py @@ -0,0 +1,55 @@ +import unittest + +from django import forms +from django.core.exceptions import ValidationError + +from wagtail.wagtailadmin import blocks + + +class TestFieldBlock(unittest.TestCase): + def test_charfield_render(self): + block = blocks.FieldBlock(forms.CharField()) + html = block.render("Hello world!") + + self.assertEqual(html, "Hello world!") + + def test_charfield_render_form(self): + block = blocks.FieldBlock(forms.CharField()) + html = block.render_form("Hello world!") + + self.assertIn('
', html) + self.assertIn('', html) + + def test_charfield_render_form_with_prefix(self): + block = blocks.FieldBlock(forms.CharField()) + html = block.render_form("Hello world!", prefix='foo') + + self.assertIn('', html) + + def test_charfield_render_form_with_error(self): + block = blocks.FieldBlock(forms.CharField()) + html = block.render_form("Hello world!", error=ValidationError("This field is required.")) + + self.assertIn('This field is required.', html) + + @unittest.expectedFailure + def test_choicefield_render(self): + block = blocks.FieldBlock(forms.ChoiceField(choices=( + ('choice-1', "Choice 1"), + ('choice-2', "Choice 2"), + ))) + html = block.render('choice-2') + + self.assertEqual(html, "Choice 2") + + def test_choicefield_render_form(self): + block = blocks.FieldBlock(forms.ChoiceField(choices=( + ('choice-1', "Choice 1"), + ('choice-2', "Choice 2"), + ))) + html = block.render_form('choice-2') + + self.assertIn('
', html) + self.assertIn('