def test_repeated_plus_required(self): field = BaseField(repeated=True, required=True) field._attr = 'req' self.assertIsNone(field.validate(['1'])) self.assertIsNone(field.validate(['1', '2'])) self.assertEqual('Required field', field.validate(None)) self.assertEqual('Required field', field.validate([None])) self.assertEqual('Required field', field.validate([])) self.assertEqual('Required field', field.validate(['1,', None]))
def test_required(self): field_not_required = BaseField() self.assertIsNone(None, field_not_required.validate('')) self.assertIsNone(field_not_required.validate(None)) self.assertIsNone(field_not_required.validate('Foo')) field_required = BaseField(required=True) field_required._attr = 'req' self.assertEqual('Required field', field_required.validate('')) self.assertEqual('Required field', field_required.validate(None)) self.assertIsNone(field_required.validate('Foo'))
def test_choices(self): field = BaseField(choices=['1', '2']) field._attr = 'foo' self.assertIsNone(field.validate('1')) self.assertIsNone(field.validate('2')) self.assertEqual('Must be one of: 1; 2', field.validate(None))