diff --git a/server/api/utils.py b/server/api/utils.py index c9bb0947..3642bc2c 100644 --- a/server/api/utils.py +++ b/server/api/utils.py @@ -1,9 +1,13 @@ -"""Script defined to create helper functions for graphql schema.""" -# https://medium.com/@jamesvaresamuel/mutation-and-query-in-graphql-using-python-django-part-2-79d9852a1092 +import io +import os + from graphene_django.filter import DjangoFilterConnectionField from graphql_relay.node.node import from_global_id +"""Script defined to create helper functions for graphql schema.""" + +# https://medium.com/@jamesvaresamuel/mutation-and-query-in-graphql-using-python-django-part-2-79d9852a1092 def get_object(object_name, relay_id, otherwise=None): try: return object_name.objects.get(pk=from_global_id(relay_id)[1]) @@ -31,3 +35,21 @@ def get_errors(e): messages = ['; '.join(m) for m in e.message_dict.values()] errors = [i for pair in zip(fields, messages) for i in pair] return errors + + +def get_graphql_query(filename): + from django.conf import settings + + with io.open(os.path.join(settings.GRAPHQL_QUERIES_DIR, filename)) as f: + query = f.read() + + return query + + +def get_graphql_mutation(filename): + from django.conf import settings + + with io.open(os.path.join(settings.GRAPHQL_MUTATIONS_DIR, filename)) as f: + mutation = f.read() + + return mutation diff --git a/server/book/tests/test_module_mutations.py b/server/book/tests/test_module_mutations.py index 7e780a65..7c4d4b49 100644 --- a/server/book/tests/test_module_mutations.py +++ b/server/book/tests/test_module_mutations.py @@ -7,6 +7,7 @@ from graphene.test import Client from graphql_relay import to_global_id from api.schema import schema +from api.utils import get_graphql_mutation from book.factories import ContentBlockFactory from book.models import ContentBlock @@ -21,8 +22,8 @@ class NewContentBlockMutationTest(TestCase): def test_add_new_content_block(self): self.assertEqual(ContentBlock.objects.count(), 1) client = Client(schema=schema) - with io.open(os.path.join(settings.GRAPHQL_MUTATIONS_DIR, 'addContentBlock.gql')) as f: - mutation = f.read() + + mutation = get_graphql_mutation('addContentBlock.gql') executed = client.execute(mutation, variables={ 'input': { diff --git a/server/core/settings.py b/server/core/settings.py index 34c83c8c..0bd059d0 100644 --- a/server/core/settings.py +++ b/server/core/settings.py @@ -43,6 +43,13 @@ if not DEBUG: # Application definition INSTALLED_APPS = [ + 'core', + 'api', + 'user', + 'book', + 'objectives', + 'rooms', + 'wagtail.contrib.forms', 'wagtail.contrib.redirects', 'wagtail.embeds', @@ -71,13 +78,6 @@ INSTALLED_APPS = [ 'graphene_django', 'django_extensions', 'compressor', - - 'core', - 'api', - 'user', - 'book.apps.BookConfig', - 'objectives', - 'rooms', ] if DEBUG: