From 8b6c24d3f7e5f0f769de27dd51a5b310394e6d2f Mon Sep 17 00:00:00 2001 From: Mikalai Radchuk Date: Fri, 5 Feb 2016 23:02:04 +0300 Subject: [PATCH] #2140: Suggested changes in tests --- wagtail/wagtailcore/tests/test_blocks.py | 65 ++++++++++-------------- 1 file changed, 27 insertions(+), 38 deletions(-) diff --git a/wagtail/wagtailcore/tests/test_blocks.py b/wagtail/wagtailcore/tests/test_blocks.py index ba6841c2a5..ec429be0ec 100644 --- a/wagtail/wagtailcore/tests/test_blocks.py +++ b/wagtail/wagtailcore/tests/test_blocks.py @@ -5,7 +5,7 @@ import unittest from django import forms from django.forms.utils import ErrorList -from django.core.exceptions import NON_FIELD_ERRORS, ValidationError +from django.core.exceptions import ValidationError from django.test import TestCase, SimpleTestCase from django.utils.safestring import mark_safe, SafeData from django.utils.html import format_html @@ -1283,25 +1283,7 @@ class TestStreamBlock(SimpleTestCase): 3: ['Enter a valid URL.'], }) - def test_block_level_validation_no_errors(self): - block = FooStreamBlock() - - post_data = {'stream-count': '3'} - for i, value in enumerate(['foo', 'bar', 'baz']): - post_data.update({ - 'stream-%d-deleted' % i: '', - 'stream-%d-order' % i: str(i), - 'stream-%d-type' % i: 'text', - 'stream-%d-value' % i: value - }) - - block_value = block.value_from_datadict(post_data, {}, 'stream') - try: - block.clean(block_value) - except ValidationError: - self.fail('Should have passed validation') - - def test_block_level_validation_throws_errors(self): + def test_block_level_validation_renders_errors(self): block = FooStreamBlock() post_data = {'stream-count': '2'} @@ -1317,31 +1299,38 @@ class TestStreamBlock(SimpleTestCase): with self.assertRaises(ValidationError) as catcher: block.clean(block_value) - self.assertEqual(catcher.exception.params, { - NON_FIELD_ERRORS: [FooStreamBlock.error], - }) - - def test_block_level_validation_renders_errors(self): - block = FooStreamBlock() - - post_data = {'stream-count': '2'} - for i, value in enumerate(['bar', 'baz']): - post_data.update({ - 'stream-%d-deleted' % i: '', - 'stream-%d-order' % i: str(i), - 'stream-%d-type' % i: 'text', - 'stream-%d-value' % i: value - }) - - block_value = block.value_from_datadict(post_data, {}, 'stream') errors = ErrorList([ - blocks.StreamBlockValidationError(non_block_errors=[FooStreamBlock.error]) + catcher.exception ]) self.assertInHTML( format_html('
{}
', FooStreamBlock.error), block.render_form(block_value, prefix='stream', errors=errors)) + def test_block_level_validation_render_no_errors(self): + block = FooStreamBlock() + + post_data = {'stream-count': '3'} + for i, value in enumerate(['foo', 'bar', 'baz']): + post_data.update({ + 'stream-%d-deleted' % i: '', + 'stream-%d-order' % i: str(i), + 'stream-%d-type' % i: 'text', + 'stream-%d-value' % i: value, + }) + + block_value = block.value_from_datadict(post_data, {}, 'stream') + + try: + block.clean(block_value) + except ValidationError: + self.fail('Should have passed validation') + + self.assertInHTML( + format_html('
{}
', FooStreamBlock.error), + block.render_form(block_value, prefix='stream'), + count=0) + def test_html_declarations(self): class ArticleBlock(blocks.StreamBlock): heading = blocks.CharBlock()