mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-11-04 09:57:41 +03:00 
			
		
		
		
	Added connection promise tests
This commit is contained in:
		
							parent
							
								
									0b9aa7cbeb
								
							
						
					
					
						commit
						c7a48c3c2c
					
				| 
						 | 
					@ -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,
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user