def test_get_suberror_ctor(self): from ptah.form import Invalid serr = Invalid(name='test') err = Invalid(errors=[serr]) self.assertIs(err['test'], serr)
def test_get_set_suberror(self): from ptah.form import Invalid err = Invalid() serr = Invalid() err['test'] = serr self.assertIn('test', err) self.assertIs(err['test'], serr) self.assertEqual(serr.name, 'test')
def test_ctor(self): from ptah.form import Invalid field = object() serror = Invalid('suberr', name='serror') err = Invalid('test', field, {'1': '2'}, 'err_name', [serror]) self.assertEqual(err.msg, 'test') self.assertIs(err.field, field) self.assertEqual(err.mapping, {'1': '2'}) self.assertEqual(err.name, 'err_name') self.assertEqual(err.errors, {'serror': serror})
def test_form_errors(self): from ptah.form import Invalid, TextField from ptah.form.form import FormErrorMessage request = DummyRequest() form_errors = FormErrorMessage(request) err1 = Invalid(None, 'Error1') err2 = Invalid(None, 'Error2') err2.field = TextField('text') res = form_errors.render([err1, err2]) self.assertIn('Error1', res) self.assertNotIn('Error2', res) self.assertIn('Please fix indicated errors.', res)
def test_str_field_no_req(self): from ptah.form import Invalid, Field err = Invalid('${val} message', Field(name='test'), mapping={'val': 'Error'}) self.assertEqual(str(err), 'Error message')
def test_str(self): from ptah.form import Invalid, Field f = Field(name='test') f.request = self.request err = Invalid('${val} message', f, mapping={'val': 'Error'}) self.assertEqual(str(err), 'Error message')
def test_ctor_default(self): from ptah.form import Invalid err = Invalid() self.assertEqual(err.msg, '') self.assertIsNone(err.field) self.assertIsNone(err.mapping) self.assertIsNone(err.name) self.assertEqual(err.errors, {})
def test_form_errors_str(self): from ptah.form import Invalid, TextField from ptah.form.form import form_error_message request = self.make_request() err1 = 'Error1' err2 = Invalid('Error2') err2.field = TextField('text') msg = [err1, err2] errs = form_error_message(msg, request)['errors'] self.assertIn(err1, errs) self.assertNotIn(err2, errs) request.add_message(msg, 'form:error') res = request.render_messages() self.assertIn('Error1', res) self.assertIn('Please fix indicated errors.', res)
def test_form_errors(self): import ptah from ptah.form import Invalid, TextField from ptah.form.form import formErrorMessage request = DummyRequest() err1 = Invalid(None, 'Error1') err2 = Invalid(None, 'Error2') err2.field = TextField('text') msg = ptah.view.Message([err1, err2], request) errs = formErrorMessage(msg, request)['errors'] self.assertIn(err1, errs) self.assertNotIn(err2, errs) ptah.view.add_message(request, [err1, err2], 'form-error') res = ptah.view.render_messages(request) self.assertIn('Please fix indicated errors.', res)
def validate(self, data, errors): errors.append(Invalid('error1'))
def validate(self, data, errors): errors.extend((Invalid('error1'), 'error2'))
def test_str_no_request(self): from ptah.form import Invalid self.config.end() err = Invalid('${val} message', mapping={'val': 'Error'}) self.assertEqual(str(err), '${val} message')
def test_str_no_field(self): from ptah.form import Invalid err = Invalid('${val} message', mapping={'val': 'Error'}) self.assertEqual(str(err), 'Error message')
def validate(self, data, errors): raise Invalid('error1')
def __call__(self, field, value): from ptah.form import Invalid if self.msg: raise Invalid(self.msg, field)
def __call__(self, node, value): from ptah.form import Invalid if self.msg: raise Invalid(node, self.msg)