Added connection promise tests

This commit is contained in:
Syrus Akbary 2016-10-27 02:48:36 +02:00
parent 0b9aa7cbeb
commit c7a48c3c2c

View File

@ -1,6 +1,7 @@
from collections import OrderedDict from collections import OrderedDict
from graphql_relay.utils import base64 from graphql_relay.utils import base64
from promise import Promise
from ...types import ObjectType, Schema, String from ...types import ObjectType, Schema, String
from ..connection import ConnectionField, PageInfo from ..connection import ConnectionField, PageInfo
@ -20,12 +21,16 @@ class Letter(ObjectType):
class Query(ObjectType): class Query(ObjectType):
letters = ConnectionField(Letter) letters = ConnectionField(Letter)
connection_letters = ConnectionField(Letter) connection_letters = ConnectionField(Letter)
promise_letters = ConnectionField(Letter)
node = Node.Field() node = Node.Field()
def resolve_letters(self, args, context, info): def resolve_letters(self, args, context, info):
return list(letters.values()) return list(letters.values())
def resolve_promise_letters(self, args, context, info):
return Promise.resolve(list(letters.values()))
def resolve_connection_letters(self, args, context, info): def resolve_connection_letters(self, args, context, info):
return Letter.Connection( return Letter.Connection(
page_info=PageInfo( page_info=PageInfo(
@ -228,3 +233,38 @@ def test_connection_type_nodes():
} }
} }
} }
def test_connection_promise():
result = schema.execute('''
{
promiseLetters(first:1) {
edges {
node {
id
letter
}
}
pageInfo {
hasPreviousPage
hasNextPage
}
}
}
''')
assert not result.errors
assert result.data == {
'promiseLetters': {
'edges': [{
'node': {
'id': 'TGV0dGVyOjA=',
'letter': 'A',
},
}],
'pageInfo': {
'hasPreviousPage': False,
'hasNextPage': True,
}
}
}