added test for returning promise

This commit is contained in:
Markus Padourek 2016-08-19 15:36:23 +01:00 committed by GitHub
parent b9f08606a0
commit 85928036e0

View File

@ -51,6 +51,9 @@ class Query(graphene.ObjectType):
connection_type_nodes = relay.ConnectionField(
MyNode, connection_type=MyConnection)
promise_connection_type = relay.ConnectionField(
MyNode, connection_type=MyConnection)
all_my_objects = relay.ConnectionField(
MyObject, connection_type=MyConnection)
@ -75,6 +78,9 @@ class Query(graphene.ObjectType):
def resolve_all_my_objects(self, args, info):
return [MyObject(name='my_object')]
def resolve_promise_connection_type(self, args, info):
return Promise.resolve('async name').then(lambda name: [MyNode(id='1', name=name)])
schema.query = Query
@ -228,6 +234,32 @@ def test_connectionfield_resolve_returning_objects():
assert result.data == expected
def test_connectionfield_resolve_returning_promise():
query = '''
query RebelsShipsQuery {
promiseConnectionType {
edges {
node {
name
}
}
}
}
'''
expected = {
'promiseConnectionType': {
'edges': [{
'node': {
'name': 'async name'
}
}]
}
}
result = schema.execute(query)
assert not result.errors
assert result.data == expected
@pytest.mark.parametrize('specialness,value', [(True, '!!!'), (False, '???')])
def test_get_node_info(specialness, value):
query = '''