From 35f42f4e0ce5db87e82b71f8d30248533d2fbfa7 Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Wed, 15 Jun 2016 22:45:28 -0700 Subject: [PATCH] Improved relay types --- examples/starwars_relay/tests/test_connections.py | 14 ++++++++++++++ graphene/relay/connection.py | 1 - graphene/relay/node.py | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/examples/starwars_relay/tests/test_connections.py b/examples/starwars_relay/tests/test_connections.py index 17b6865f..d77122b9 100644 --- a/examples/starwars_relay/tests/test_connections.py +++ b/examples/starwars_relay/tests/test_connections.py @@ -10,7 +10,14 @@ def test_correct_fetch_first_ship_rebels(): rebels { name, ships(first: 1) { + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } edges { + cursor node { name } @@ -23,8 +30,15 @@ def test_correct_fetch_first_ship_rebels(): 'rebels': { 'name': 'Alliance to Restore the Republic', 'ships': { + 'pageInfo': { + 'startCursor': 'YXJyYXljb25uZWN0aW9uOjA=', + 'endCursor': 'YXJyYXljb25uZWN0aW9uOjA=', + 'hasNextPage': True, + 'hasPreviousPage': False + }, 'edges': [ { + 'cursor': 'YXJyYXljb25uZWN0aW9uOjA=', 'node': { 'name': 'X-Wing' } diff --git a/graphene/relay/connection.py b/graphene/relay/connection.py index 55f7ae49..af0eaf4d 100644 --- a/graphene/relay/connection.py +++ b/graphene/relay/connection.py @@ -105,7 +105,6 @@ class IterableConnectionField(Field): args, connection_type=self.connection, edge_type=self.connection.Edge, - pageinfo_type=None ) return connection return resolver diff --git a/graphene/relay/node.py b/graphene/relay/node.py index bca8aeae..8394bfb7 100644 --- a/graphene/relay/node.py +++ b/graphene/relay/node.py @@ -19,7 +19,7 @@ class NodeMeta(ObjectTypeMeta): if not is_object_type: get_node_from_global_id = getattr(cls, 'get_node_from_global_id', None) id_resolver = getattr(cls, 'id_resolver', None) - assert get_node_from_global_id, '{}.get_node method is required by the Node interface.'.format(cls.__name__) + assert get_node_from_global_id, '{}.get_node_from_global_id method is required by the Node interface.'.format(cls.__name__) node_interface, node_field = node_definitions( get_node_from_global_id, id_resolver=id_resolver,