From ee60ad08c26606b42aeb95767044587d3d6ee6ac Mon Sep 17 00:00:00 2001 From: Firas K <3097061+firaskafri@users.noreply.github.com> Date: Tue, 11 Apr 2023 13:12:44 +0300 Subject: [PATCH 1/5] Default enum description to "An enumeration." default to this string, which is used in many tests, is causing --- graphene/types/enum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphene/types/enum.py b/graphene/types/enum.py index 58e65c69e..041e60724 100644 --- a/graphene/types/enum.py +++ b/graphene/types/enum.py @@ -63,7 +63,7 @@ def from_enum( cls, enum, name=None, description=None, deprecation_reason=None ): # noqa: N805 name = name or enum.__name__ - description = description or enum.__doc__ + description = description or "An enumeration." meta_dict = { "enum": enum, "description": description, From 42471516c27b39457539376271d75e73d25719d1 Mon Sep 17 00:00:00 2001 From: Firas Kafri <3097061+firaskafri@users.noreply.github.com> Date: Thu, 4 May 2023 10:54:33 +0300 Subject: [PATCH 2/5] Use the docstring descriptions of enums when they are present --- graphene/types/enum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphene/types/enum.py b/graphene/types/enum.py index 041e60724..7d68ccd48 100644 --- a/graphene/types/enum.py +++ b/graphene/types/enum.py @@ -63,7 +63,7 @@ def from_enum( cls, enum, name=None, description=None, deprecation_reason=None ): # noqa: N805 name = name or enum.__name__ - description = description or "An enumeration." + description = description or enum.__doc__ or "An enumeration." meta_dict = { "enum": enum, "description": description, From 4b297a289df06c43871b64c0c0e4b324a6749dba Mon Sep 17 00:00:00 2001 From: Firas Kafri <3097061+firaskafri@users.noreply.github.com> Date: Thu, 4 May 2023 22:05:05 +0300 Subject: [PATCH 3/5] Added tests --- graphene/types/tests/test_enum.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/graphene/types/tests/test_enum.py b/graphene/types/tests/test_enum.py index 9b3082df1..b86d85d16 100644 --- a/graphene/types/tests/test_enum.py +++ b/graphene/types/tests/test_enum.py @@ -64,6 +64,19 @@ def test_enum_from_builtin_enum(): assert RGB.GREEN 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 custom_description(value): From 510f27ec1ad97a92362d5d3ec085c45867e9cf22 Mon Sep 17 00:00:00 2001 From: Erik Wrede Date: Thu, 11 May 2023 14:08:17 +0200 Subject: [PATCH 4/5] chore: add missing newline --- graphene/types/tests/test_enum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/graphene/types/tests/test_enum.py b/graphene/types/tests/test_enum.py index b86d85d16..325d32275 100644 --- a/graphene/types/tests/test_enum.py +++ b/graphene/types/tests/test_enum.py @@ -64,6 +64,7 @@ def test_enum_from_builtin_enum(): assert RGB.GREEN assert RGB.BLUE + def test_enum_custom_description_in_constructor(): description = "An enumeration, but with a custom description" RGB = Enum( From 6eaef662d57ec8d4b32f14344582ef3f2c2f4407 Mon Sep 17 00:00:00 2001 From: Firas Kafri <3097061+firaskafri@users.noreply.github.com> Date: Wed, 24 May 2023 16:42:36 +0300 Subject: [PATCH 5/5] Fix new line --- graphene/types/tests/test_enum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/graphene/types/tests/test_enum.py b/graphene/types/tests/test_enum.py index 325d32275..e6fce66c9 100644 --- a/graphene/types/tests/test_enum.py +++ b/graphene/types/tests/test_enum.py @@ -79,6 +79,7 @@ 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 custom_description(value): if not value: