diff options
| author | Honza Král <honza.kral@gmail.com> | 2009-07-05 13:28:41 +0000 |
|---|---|---|
| committer | Honza Král <honza.kral@gmail.com> | 2009-07-05 13:28:41 +0000 |
| commit | cb7d3f2a0e16c974f84df8b62d24a774220f7507 (patch) | |
| tree | b21c59c9a7e63ed4b845a6110e3e790ab61719e7 /tests | |
| parent | 7464e4ec27bdff3e777ce1747e30ea8002fb472b (diff) | |
[soc2009/model-validation] Validation test refactoring
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/model-validation@11190 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/modeltests/validation/__init__.py | 13 | ||||
| -rw-r--r-- | tests/modeltests/validation/tests.py | 20 | ||||
| -rw-r--r-- | tests/modeltests/validation/validators.py | 14 |
3 files changed, 31 insertions, 16 deletions
diff --git a/tests/modeltests/validation/__init__.py b/tests/modeltests/validation/__init__.py index e69de29bb2..88e0029078 100644 --- a/tests/modeltests/validation/__init__.py +++ b/tests/modeltests/validation/__init__.py @@ -0,0 +1,13 @@ +import unittest + +from django.core.exceptions import ValidationError + +class ValidationTestCase(unittest.TestCase): + def assertFailsValidation(self, clean, failed_fields): + self.assertRaises(ValidationError, clean) + try: + clean() + except ValidationError, e: + self.assertEquals(sorted(failed_fields), sorted(e.message_dict.keys())) + + diff --git a/tests/modeltests/validation/tests.py b/tests/modeltests/validation/tests.py index c395fb26ab..95952a5a24 100644 --- a/tests/modeltests/validation/tests.py +++ b/tests/modeltests/validation/tests.py @@ -1,18 +1,14 @@ import unittest from django.core.exceptions import ValidationError, NON_FIELD_ERRORS -from django.test import TestCase from django.db import models +from modeltests.validation import ValidationTestCase from models import * -class BaseModelValidationTests(TestCase): - def assertFailsValidation(self, clean, failed_fields): - self.assertRaises(ValidationError, clean) - try: - clean() - except ValidationError, e: - self.assertEquals(sorted(failed_fields), sorted(e.message_dict.keys())) +from validators import TestModelsWithValidators + +class BaseModelValidationTests(ValidationTestCase): def test_missing_required_field_raises_error(self): mtv = ModelToValidate() @@ -43,14 +39,6 @@ class BaseModelValidationTests(TestCase): mtv = ModelToValidate(number=10, name='Some Name', email='valid@email.com') self.assertEqual(None, mtv.clean()) - def test_custom_validator_passes_for_correct_value(self): - mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=42) - self.assertEqual(None, mtv.clean()) - - def test_custom_validator_raises_error_for_incorrect_value(self): - mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=12) - self.assertFailsValidation(mtv.clean, ['f_with_custom_validator']) - class GetUniqueCheckTests(unittest.TestCase): def test_unique_fields_get_collected(self): m = UniqueFieldsModel() diff --git a/tests/modeltests/validation/validators.py b/tests/modeltests/validation/validators.py new file mode 100644 index 0000000000..2556785779 --- /dev/null +++ b/tests/modeltests/validation/validators.py @@ -0,0 +1,14 @@ +from unittest import TestCase + +from modeltests.validation import ValidationTestCase +from models import * + +class TestModelsWithValidators(ValidationTestCase): + def test_custom_validator_passes_for_correct_value(self): + mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=42) + self.assertEqual(None, mtv.clean()) + + def test_custom_validator_raises_error_for_incorrect_value(self): + mtv = ModelToValidate(number=10, name='Some Name', f_with_custom_validator=12) + self.assertFailsValidation(mtv.clean, ['f_with_custom_validator']) + |
