mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-06-09 16:13:29 +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