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 graphql_relay.utils import base64
 | 
			
		||||
from promise import Promise
 | 
			
		||||
 | 
			
		||||
from ...types import ObjectType, Schema, String
 | 
			
		||||
from ..connection import ConnectionField, PageInfo
 | 
			
		||||
| 
						 | 
				
			
			@ -20,12 +21,16 @@ class Letter(ObjectType):
 | 
			
		|||
class Query(ObjectType):
 | 
			
		||||
    letters = ConnectionField(Letter)
 | 
			
		||||
    connection_letters = ConnectionField(Letter)
 | 
			
		||||
    promise_letters = ConnectionField(Letter)
 | 
			
		||||
 | 
			
		||||
    node = Node.Field()
 | 
			
		||||
 | 
			
		||||
    def resolve_letters(self, args, context, info):
 | 
			
		||||
        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):
 | 
			
		||||
        return Letter.Connection(
 | 
			
		||||
            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