mirror of
				https://github.com/graphql-python/graphene-django.git
				synced 2025-11-04 09:57:53 +03:00 
			
		
		
		
	add variables arg in GraphQLTestCase.query
This commit is contained in:
		
							parent
							
								
									3b541e3d05
								
							
						
					
					
						commit
						cb2cf513c0
					
				| 
						 | 
					@ -37,6 +37,28 @@ Usage:
 | 
				
			||||||
            # Add some more asserts if you like
 | 
					            # Add some more asserts if you like
 | 
				
			||||||
            ...
 | 
					            ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        def test_query_with_variables(self):
 | 
				
			||||||
 | 
					            response = self.query(
 | 
				
			||||||
 | 
					                '''
 | 
				
			||||||
 | 
					                query myModel($id: Int!){
 | 
				
			||||||
 | 
					                    myModel(id: $id) {
 | 
				
			||||||
 | 
					                        id
 | 
				
			||||||
 | 
					                        name
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                ''',
 | 
				
			||||||
 | 
					                op_name='myModel',
 | 
				
			||||||
 | 
					                variables={'id': 1}
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            content = json.loads(response.content)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # This validates the status code and if you get errors
 | 
				
			||||||
 | 
					            self.assertResponseNoErrors(response)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # Add some more asserts if you like
 | 
				
			||||||
 | 
					            ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        def test_some_mutation(self):
 | 
					        def test_some_mutation(self):
 | 
				
			||||||
            response = self.query(
 | 
					            response = self.query(
 | 
				
			||||||
                '''
 | 
					                '''
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,7 @@ class GraphQLTestCase(TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cls._client = Client()
 | 
					        cls._client = Client()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def query(self, query, op_name=None, input_data=None):
 | 
					    def query(self, query, op_name=None, input_data=None, variables=None):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        Args:
 | 
					        Args:
 | 
				
			||||||
            query (string)    - GraphQL query to run
 | 
					            query (string)    - GraphQL query to run
 | 
				
			||||||
| 
						 | 
					@ -40,8 +40,13 @@ class GraphQLTestCase(TestCase):
 | 
				
			||||||
        body = {"query": query}
 | 
					        body = {"query": query}
 | 
				
			||||||
        if op_name:
 | 
					        if op_name:
 | 
				
			||||||
            body["operation_name"] = op_name
 | 
					            body["operation_name"] = op_name
 | 
				
			||||||
 | 
					        if variables:
 | 
				
			||||||
 | 
					            body["variables"] = variables
 | 
				
			||||||
        if input_data:
 | 
					        if input_data:
 | 
				
			||||||
            body["variables"] = {"input": input_data}
 | 
					            if variables in body and isinstance(body, dict):
 | 
				
			||||||
 | 
					                body["variables"]["input"] = input_data
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                body["variables"] = {"input": input_data}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        resp = self._client.post(
 | 
					        resp = self._client.post(
 | 
				
			||||||
            self.GRAPHQL_URL, json.dumps(body), content_type="application/json"
 | 
					            self.GRAPHQL_URL, json.dumps(body), content_type="application/json"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user