def test_set_attributes_from_name_with_verbose_name(self): target = Field(verbose_name="init Verbose Name") target.set_attributes_from_name("test_name") self.assertEqual("test_name", target.name) self.assertEqual("test_name", target.attname) self.assertEqual("init Verbose Name", target.verbose_name) self.assertEqual("init Verbose Names", target.verbose_name_plural)
def test_run_validators_and_override_validator_message_with_params(self): target = Field(error_messages={'test_code': 'Override message: %s'}, validators=[TestValidator(True, "123")]) try: target.run_validators("Placeholder") except ValidationError as ve: self.assertEqual(['Override message: 123'], ve.messages) else: raise AssertionError("Validation Error not raised.")
def test_value_from_object(self): target = Field() target.set_attributes_from_name("test_name") an_obj = ObjectValue() setattr(an_obj, "test_name", "test_value") actual = target.value_from_object(an_obj) self.assertEqual("test_value", actual)
def test_run_validators_and_override_validator_message(self): target = Field(error_messages={'test_code': 'Override message'}, validators=[TestValidator(True)]) try: target.run_validators("Placeholder") except ValidationError as ve: self.assertEqual('Override message', ve.messages[0]) else: raise AssertionError("Validation Error not raised.")
def test_get_default_callable(self): target = Field(default=lambda: "321") self.assertEqual("321", target.get_default())
def test_get_default_supplied(self): target = Field(default="123") self.assertEqual("123", target.get_default())
def test_get_default(self): target = Field() self.assertIsNone(target.get_default())
def test_has_default_supplied(self): target = Field(default="123") self.assertTrue(target.has_default())
def test_has_default(self): target = Field() self.assertFalse(target.has_default())
def test__repr(self): target = Field() self.assertEqual("<odin.fields.Field>", repr(target)) target.set_attributes_from_name("eek") self.assertEqual("<odin.fields.Field: eek>", repr(target))
def test_default_to_python_raises_not_implemented(self): target = Field() pytest.raises(NotImplementedError, target.to_python, "Anything...")
def test__repr(self): target = Field() assert "<odin.fields.Field>" == repr(target) target.set_attributes_from_name("eek") assert "<odin.fields.Field: eek>" == repr(target)