mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-08 23:50:38 +03:00
Added support for Enum descriptions
This commit is contained in:
parent
9a9d7f8873
commit
568718d573
|
@ -22,7 +22,12 @@ class GrapheneEnumType(GrapheneGraphQLType, GraphQLEnumType):
|
|||
def values_from_enum(enum):
|
||||
_values = OrderedDict()
|
||||
for name, value in enum.__members__.items():
|
||||
_values[name] = GraphQLEnumValue(name=name, value=value.value)
|
||||
_values[name] = GraphQLEnumValue(
|
||||
name=name,
|
||||
value=value.value,
|
||||
description=getattr(value, 'description', None),
|
||||
deprecation_reason=getattr(value, 'deprecation_reason', None)
|
||||
)
|
||||
return _values
|
||||
|
||||
|
||||
|
|
|
@ -11,6 +11,10 @@ def test_enum_construction():
|
|||
GREEN = 2
|
||||
BLUE = 3
|
||||
|
||||
@property
|
||||
def description(self):
|
||||
return "Description {}".format(self.name)
|
||||
|
||||
assert isinstance(RGB._meta.graphql_type, GraphQLEnumType)
|
||||
values = RGB._meta.graphql_type.get_values()
|
||||
assert sorted([v.name for v in values]) == [
|
||||
|
@ -18,6 +22,11 @@ def test_enum_construction():
|
|||
'GREEN',
|
||||
'RED'
|
||||
]
|
||||
assert sorted([v.description for v in values]) == [
|
||||
'Description BLUE',
|
||||
'Description GREEN',
|
||||
'Description RED'
|
||||
]
|
||||
assert isinstance(RGB(name='field_name').as_field(), Field)
|
||||
assert isinstance(RGB(name='field_name').as_argument(), Argument)
|
||||
|
||||
|
|
|
@ -206,11 +206,8 @@ def test_objecttype_graphene_inherit_interface():
|
|||
assert graphql_type.get_interfaces() == (GrapheneInterface._meta.graphql_type, )
|
||||
assert graphql_type.is_type_of(GrapheneObjectType(), None, None)
|
||||
fields = graphql_type.get_fields()
|
||||
assert 'field' in fields
|
||||
assert 'extended' in fields
|
||||
assert 'name' in fields
|
||||
fields = graphql_type.get_fields().keys() == ['name', 'extended', 'field']
|
||||
assert issubclass(GrapheneObjectType, GrapheneInterface)
|
||||
assert fields['field'] > fields['extended'] > fields['name']
|
||||
|
||||
|
||||
# def test_objecttype_graphene_interface_extended():
|
||||
|
|
Loading…
Reference in New Issue
Block a user