chore: default enum description to "An enumeration." (#1502)

* Default enum description to "An enumeration."

default to this string, which is used in many tests, is causing

* Use the docstring descriptions of enums when they are present

* Added tests

* chore: add missing newline

* Fix new line

---------

Co-authored-by: Erik Wrede <erikwrede@users.noreply.github.com>
This commit is contained in:
Firas Kafri 2023-05-25 13:21:55 +03:00 committed by GitHub
parent 57cbef6666
commit 8ede21e063
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View File

@ -63,7 +63,7 @@ class EnumMeta(SubclassWithMeta_Meta):
cls, enum, name=None, description=None, deprecation_reason=None cls, enum, name=None, description=None, deprecation_reason=None
): # noqa: N805 ): # noqa: N805
name = name or enum.__name__ name = name or enum.__name__
description = description or enum.__doc__ description = description or enum.__doc__ or "An enumeration."
meta_dict = { meta_dict = {
"enum": enum, "enum": enum,
"description": description, "description": description,

View File

@ -65,6 +65,21 @@ def test_enum_from_builtin_enum():
assert RGB.BLUE assert RGB.BLUE
def test_enum_custom_description_in_constructor():
description = "An enumeration, but with a custom description"
RGB = Enum(
"RGB",
"RED,GREEN,BLUE",
description=description,
)
assert RGB._meta.description == description
def test_enum_from_python3_enum_uses_default_builtin_doc():
RGB = Enum("RGB", "RED,GREEN,BLUE")
assert RGB._meta.description == "An enumeration."
def test_enum_from_builtin_enum_accepts_lambda_description(): def test_enum_from_builtin_enum_accepts_lambda_description():
def custom_description(value): def custom_description(value):
if not value: if not value: