def test_default(self): field = BaseField('', default='foo') self.assertEqual(field.default, 'foo') with self.assertRaises(AttributeError): # noinspection PyPropertyAccess field.default = 'bar' self.assertEqual(field.value, 'foo')
def test_required(self): field = BaseField('', required=True) with self.assertRaises(ValidationError) as cm: field.validate(None) self.assertEqual(cm.exception.code, 'required') with self.assertRaises(ValidationError) as cm: # noinspection PyStatementEffect field.cleaned_value self.assertEqual(cm.exception.code, 'required') self.assertFalse(field.is_valid) field.value = 'foo' self.assertTrue(field.is_valid)
def test_value(self): field = BaseField('', default="foo") self.assertEqual(field.value, "foo") field.value = 'bar' self.assertEqual(field.value, 'bar')
def test_not_required(self): field = BaseField('', required=False) self.assertTrue(field.is_valid)
def test_get_multiple_value_from_data(): field = BaseField('name', multiple=True) data = MultiDict([('name', 'a'), ('name', 'b')]) assert field.value_from_request_data(data, MultiDict()) == ['a', 'b']
def test_type(self): field = BaseField('') self.assertEqual(field.type, "base")
def test_true_to_cmd_parameter(example_field: BaseField): assert bool(example_field.to_cmd_parameter(True)) is True
def example_field(): return BaseField('myfield')
def test_str_to_cmd_parameter(example_field: BaseField): assert example_field.to_cmd_parameter('foo') == 'foo'
def test_none_to_cmd_parameter(example_field: BaseField): assert example_field.to_cmd_parameter(None) is None
def test_int_to_cmd_parameter(example_field: BaseField): assert example_field.to_cmd_parameter(1) == 1
def test_field_description(): field = BaseField('name', description='example description') assert field.description == 'example description'
def test_field_name(): field = BaseField('foobar') assert field.name == 'foobar'
def test_invalidation(self): field = BaseField('', default='foo') field._valid = True self.assertTrue(field.is_valid) field.value = 'bar' self.assertFalse(field._valid)
def test_false_to_cmd_parameter(example_field: BaseField): assert bool(example_field.to_cmd_parameter(False)) is False
def test_error(self): field = BaseField('') self.assertIsNone(field.error)
def test_multiple_missing_value_from_data(): field = BaseField('name', multiple=True) assert field.value_from_request_data(MultiDict(), MultiDict()) == []