mirror of
https://github.com/graphql-python/graphene-django.git
synced 2024-11-29 04:53:43 +03:00
61 lines
1.6 KiB
ReStructuredText
61 lines
1.6 KiB
ReStructuredText
|
Testing API calls with django
|
||
|
=============================
|
||
|
|
||
|
If you want to unittest your API calls derive your test case from the class `GraphQLTestCase`.
|
||
|
|
||
|
Usage:
|
||
|
|
||
|
.. code:: python
|
||
|
|
||
|
import json
|
||
|
|
||
|
from graphene_django.tests.base_test import GraphQLTestCase
|
||
|
from my_project.config.schema import schema
|
||
|
|
||
|
class MyFancyTestCase(GraphQLTestCase):
|
||
|
# Here you need to inject your test case's schema
|
||
|
GRAPHQL_SCHEMA = schema
|
||
|
|
||
|
def test_some_query(self):
|
||
|
response = self.query(
|
||
|
'''
|
||
|
query {
|
||
|
myModel {
|
||
|
id
|
||
|
name
|
||
|
}
|
||
|
}
|
||
|
''',
|
||
|
op_name='myModel'
|
||
|
)
|
||
|
|
||
|
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):
|
||
|
response = self.query(
|
||
|
'''
|
||
|
mutation myMutation($input: MyMutationInput!) {
|
||
|
myMutation(input: $input) {
|
||
|
my-model {
|
||
|
id
|
||
|
name
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
''',
|
||
|
op_name='myMutation',
|
||
|
input_data={'my_field': 'foo', 'other_field': 'bar'}
|
||
|
)
|
||
|
|
||
|
# This validates the status code and if you get errors
|
||
|
self.assertResponseNoErrors(response)
|
||
|
|
||
|
# Add some more asserts if you like
|
||
|
...
|