Add unit tests for onboarding
This commit is contained in:
parent
ff3372c525
commit
9027aaa4ee
|
|
@ -0,0 +1,49 @@
|
||||||
|
from django.test import TestCase
|
||||||
|
from graphene import Context
|
||||||
|
from graphene.test import Client
|
||||||
|
|
||||||
|
from core.factories import UserFactory
|
||||||
|
from users.factories import SchoolClassFactory
|
||||||
|
from users.models import SchoolClass, SchoolClassMember
|
||||||
|
from api.schema import schema
|
||||||
|
|
||||||
|
|
||||||
|
class OnboardingTest(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.client = Client(schema=schema)
|
||||||
|
self.user = UserFactory(username='ueli')
|
||||||
|
SchoolClassFactory(users=[self.user], name='Klasse 1A', code='XXXX')
|
||||||
|
self.context = Context(user=self.user)
|
||||||
|
self.me_query = """
|
||||||
|
query MeQuery {
|
||||||
|
me {
|
||||||
|
onboardingVisited
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.mutation = """
|
||||||
|
mutation UpdateOnboardingProgress {
|
||||||
|
updateOnboardingProgress {
|
||||||
|
success
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
def test_show_onboarding(self):
|
||||||
|
executed = self.client.execute(self.me_query, context=self.context)
|
||||||
|
self.assertIsNone(executed.get('errors', None))
|
||||||
|
result = executed['data']['me']
|
||||||
|
self.assertEqual(result['onboardingVisited'], False)
|
||||||
|
|
||||||
|
def test_update_onboarding(self):
|
||||||
|
executed = self.client.execute(self.mutation, context=self.context)
|
||||||
|
self.assertIsNone(executed.get('errors', None))
|
||||||
|
result = executed['data']['updateOnboardingProgress']
|
||||||
|
self.assertEqual(result['success'], True)
|
||||||
|
|
||||||
|
executed = self.client.execute(self.me_query, context=self.context)
|
||||||
|
self.assertIsNone(executed.get('errors', None))
|
||||||
|
result = executed['data']['me']
|
||||||
|
self.assertEqual(result['onboardingVisited'], True)
|
||||||
|
|
||||||
Loading…
Reference in New Issue