/tests/modeltests/validation/__init__.py

https://code.google.com/p/mango-py/ · Python · 21 lines · 16 code · 5 blank · 0 comment · 4 complexity · bbe70b7ea4c22f442e5cd9ab7525fb93 MD5 · raw file

  1. from django.test import TestCase
  2. from django.core.exceptions import ValidationError
  3. class ValidationTestCase(TestCase):
  4. def assertFailsValidation(self, clean, failed_fields):
  5. self.assertRaises(ValidationError, clean)
  6. try:
  7. clean()
  8. except ValidationError, e:
  9. self.assertEqual(sorted(failed_fields), sorted(e.message_dict.keys()))
  10. def assertFieldFailsValidationWithMessage(self, clean, field_name, message):
  11. self.assertRaises(ValidationError, clean)
  12. try:
  13. clean()
  14. except ValidationError, e:
  15. self.assertTrue(field_name in e.message_dict)
  16. self.assertEqual(message, e.message_dict[field_name])