def test_base(self):
# init fields
BaseValidator.fields = {
'f1': dict(type=str, required=True),
'f2': dict(type=int),
'f3': dict(type=str, default='ok'),
}
# try to create validator without reqired field
with self.assertRaises(errors.ValidationRequiredError, msg='f1'):
BaseValidator(MockRequest(form={'f2': '42'}))
# try to create validator with wrong type
with self.assertRaises(errors.ValidationError, msg='f2'):
BaseValidator(MockRequest(form={'f1': 'v1', 'f2': 'v2'}))
# create validator without not required field and check it
val = BaseValidator(MockRequest(form={'f1': 'v1'}))
self.assertEqual(val.form, {'f1': 'v1', 'f2': None, 'f3': 'ok'})
# create validator with all fields and check it
val = BaseValidator(MockRequest(form={'f1': 'v1', 'f2': '42'}))
self.assertEqual(val.form, {'f1': 'v1', 'f2': 42, 'f3': 'ok'})
# test is_valid and get_error
self.assertIsNone(val.get_error())
self.assertFalse(val.error('test'))
self.assertEqual(val.get_error(), 'test')
self.assertTrue(val.is_valid())
self.assertIsNone(val.get_error())
self.assertEqual(val.form, val.cleaned_data)
评论列表
文章目录