def test_auto_description(self): fld = IntEnumField(testmodels.Service) self.assertEqual( fld.description, "python_programming: 1\ndatabase_design: 2\nsystem_administration: 3" )
def test_manual_description(self): fld = IntEnumField(testmodels.Service, description="foo") self.assertEqual(fld.description, "foo")
def test_range2_fails(self): with self.assertRaisesRegex( ConfigurationError, "The valid range of IntEnumField's values is 0..32767!"): IntEnumField(BadIntEnum2)
def test_char_fails(self): with self.assertRaisesRegex( ConfigurationError, "IntEnumField only supports integer enums!"): IntEnumField(testmodels.Currency)
def test_range3_manual(self): fld = IntEnumField(BadIntEnumIfGenerated) self.assertIs(fld.enum_type, BadIntEnumIfGenerated)
def test_range3_generated_fails(self): with self.assertRaisesRegex( ConfigurationError, "The valid range of IntEnumField's values is 1..32767!"): IntEnumField(BadIntEnumIfGenerated, generated=True)
class User(Model): username: str = CharField(pk=True, max_length=32) password: str = CharField(max_length=80) email: str = CharField(unique=True, max_length=64) role: Role = IntEnumField(Role)