parts/django/tests/modeltests/validation/validators.py
changeset 307 c6bca38c1cbf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parts/django/tests/modeltests/validation/validators.py	Sat Jan 08 11:20:57 2011 +0530
@@ -0,0 +1,18 @@
+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.full_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.full_clean, ['f_with_custom_validator'])
+        self.assertFieldFailsValidationWithMessage(
+            mtv.full_clean,
+            'f_with_custom_validator',
+            [u'This is not the answer to life, universe and everything!']
+        )