Add EnumE.get_name()

This commit is contained in:
Son NK 2020-11-15 19:34:00 +01:00
parent aee917a3ef
commit d8c9078708
2 changed files with 22 additions and 0 deletions

View File

@ -112,6 +112,14 @@ class EnumE(enum.Enum):
def has_value(cls, value: int) -> bool:
return value in set(item.value for item in cls)
@classmethod
def get_name(cls, value: int):
for item in cls:
if item.value == value:
return item.name
return None
class PlanEnum(EnumE):
monthly = 2

View File

@ -12,6 +12,7 @@ from app.models import (
Mailbox,
AliasMailbox,
SenderFormatEnum,
EnumE,
)
@ -197,3 +198,16 @@ def test_mailbox_delete(flask_client):
Mailbox.delete(m1.id)
alias = Alias.get(alias.id)
assert len(alias.mailboxes) == 2
def test_EnumE():
class E(EnumE):
A = 100
B = 200
assert E.has_value(100)
assert not E.has_value(101)
assert E.get_name(100) == "A"
assert E.get_name(200) == "B"
assert E.get_name(101) is None