diff --git a/graphene/tests/issues/test_1264.py b/graphene/tests/issues/test_1264.py new file mode 100644 index 00000000..48be0a8a --- /dev/null +++ b/graphene/tests/issues/test_1264.py @@ -0,0 +1,13 @@ +from graphene.types.enum import Enum + + +def test_enum_iteration(): + class TestEnum(Enum): + FIRST = 1 + SECOND = 2 + + result = [] + expected_values = ["FIRST", "SECOND"] + for c in TestEnum: + result.append(c.name) + assert result == expected_values diff --git a/graphene/types/enum.py b/graphene/types/enum.py index 0f68236b..58e65c69 100644 --- a/graphene/types/enum.py +++ b/graphene/types/enum.py @@ -56,6 +56,9 @@ class EnumMeta(SubclassWithMeta_Meta): return super(EnumMeta, cls).__call__(*args, **kwargs) # return cls._meta.enum(*args, **kwargs) + def __iter__(cls): + return cls._meta.enum.__iter__() + def from_enum( cls, enum, name=None, description=None, deprecation_reason=None ): # noqa: N805