summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHonza Král <honza.kral@gmail.com>2009-07-05 13:28:41 +0000
committerHonza Král <honza.kral@gmail.com>2009-07-05 13:28:41 +0000
commitcb7d3f2a0e16c974f84df8b62d24a774220f7507 (patch)
treeb21c59c9a7e63ed4b845a6110e3e790ab61719e7 /tests
parent7464e4ec27bdff3e777ce1747e30ea8002fb472b (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__.py13
-rw-r--r--tests/modeltests/validation/tests.py20
-rw-r--r--tests/modeltests/validation/validators.py14
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'])
+