mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-11-04 09:57:41 +03:00 
			
		
		
		
	Changed in https://github.com/graphql-python/graphql-core/pull/185 , the docs here were out of date, as were the tests.
		
			
				
	
	
		
			183 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from graphene.test import Client
 | 
						|
 | 
						|
from ..data import setup
 | 
						|
from ..schema import schema
 | 
						|
 | 
						|
setup()
 | 
						|
 | 
						|
client = Client(schema)
 | 
						|
 | 
						|
 | 
						|
def test_hero_name_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query HeroNameQuery {
 | 
						|
          hero {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_hero_name_and_friends_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query HeroNameAndFriendsQuery {
 | 
						|
          hero {
 | 
						|
            id
 | 
						|
            name
 | 
						|
            friends {
 | 
						|
              name
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_nested_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query NestedQuery {
 | 
						|
          hero {
 | 
						|
            name
 | 
						|
            friends {
 | 
						|
              name
 | 
						|
              appearsIn
 | 
						|
              friends {
 | 
						|
                name
 | 
						|
              }
 | 
						|
            }
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_fetch_luke_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query FetchLukeQuery {
 | 
						|
          human(id: "1000") {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_fetch_some_id_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query FetchSomeIDQuery($someId: String!) {
 | 
						|
          human(id: $someId) {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    params = {"someId": "1000"}
 | 
						|
    snapshot.assert_match(client.execute(query, variables=params))
 | 
						|
 | 
						|
 | 
						|
def test_fetch_some_id_query2(snapshot):
 | 
						|
    query = """
 | 
						|
        query FetchSomeIDQuery($someId: String!) {
 | 
						|
          human(id: $someId) {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    params = {"someId": "1002"}
 | 
						|
    snapshot.assert_match(client.execute(query, variables=params))
 | 
						|
 | 
						|
 | 
						|
def test_invalid_id_query(snapshot):
 | 
						|
    query = """
 | 
						|
        query humanQuery($id: String!) {
 | 
						|
          human(id: $id) {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    params = {"id": "not a valid id"}
 | 
						|
    snapshot.assert_match(client.execute(query, variables=params))
 | 
						|
 | 
						|
 | 
						|
def test_fetch_luke_aliased(snapshot):
 | 
						|
    query = """
 | 
						|
        query FetchLukeAliased {
 | 
						|
          luke: human(id: "1000") {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_fetch_luke_and_leia_aliased(snapshot):
 | 
						|
    query = """
 | 
						|
        query FetchLukeAndLeiaAliased {
 | 
						|
          luke: human(id: "1000") {
 | 
						|
            name
 | 
						|
          }
 | 
						|
          leia: human(id: "1003") {
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_duplicate_fields(snapshot):
 | 
						|
    query = """
 | 
						|
        query DuplicateFields {
 | 
						|
          luke: human(id: "1000") {
 | 
						|
            name
 | 
						|
            homePlanet
 | 
						|
          }
 | 
						|
          leia: human(id: "1003") {
 | 
						|
            name
 | 
						|
            homePlanet
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_use_fragment(snapshot):
 | 
						|
    query = """
 | 
						|
        query UseFragment {
 | 
						|
          luke: human(id: "1000") {
 | 
						|
            ...HumanFragment
 | 
						|
          }
 | 
						|
          leia: human(id: "1003") {
 | 
						|
            ...HumanFragment
 | 
						|
          }
 | 
						|
        }
 | 
						|
        fragment HumanFragment on Human {
 | 
						|
          name
 | 
						|
          homePlanet
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_check_type_of_r2(snapshot):
 | 
						|
    query = """
 | 
						|
        query CheckTypeOfR2 {
 | 
						|
          hero {
 | 
						|
            __typename
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 | 
						|
 | 
						|
 | 
						|
def test_check_type_of_luke(snapshot):
 | 
						|
    query = """
 | 
						|
        query CheckTypeOfLuke {
 | 
						|
          hero(episode: EMPIRE) {
 | 
						|
            __typename
 | 
						|
            name
 | 
						|
          }
 | 
						|
        }
 | 
						|
    """
 | 
						|
    snapshot.assert_match(client.execute(query))
 |