mirror of
				https://github.com/graphql-python/graphene.git
				synced 2025-10-31 07:57:26 +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))
 |