Add another unit test
This commit is contained in:
parent
d0ef9bd5fd
commit
a1228f7753
|
|
@ -7,7 +7,9 @@ from vbv_lernwelt.core.schema import schema
|
||||||
from vbv_lernwelt.course.management.commands.create_default_courses import (
|
from vbv_lernwelt.course.management.commands.create_default_courses import (
|
||||||
create_versicherungsvermittlerin_course,
|
create_versicherungsvermittlerin_course,
|
||||||
)
|
)
|
||||||
|
from vbv_lernwelt.course.models import CourseSessionUser
|
||||||
from vbv_lernwelt.learnpath.creators import create_course_profiles
|
from vbv_lernwelt.learnpath.creators import create_course_profiles
|
||||||
|
from vbv_lernwelt.learnpath.models import CourseProfile
|
||||||
|
|
||||||
|
|
||||||
class CourseGraphQLTestCase(TestCase):
|
class CourseGraphQLTestCase(TestCase):
|
||||||
|
|
@ -15,12 +17,12 @@ class CourseGraphQLTestCase(TestCase):
|
||||||
create_default_users()
|
create_default_users()
|
||||||
create_course_profiles()
|
create_course_profiles()
|
||||||
create_versicherungsvermittlerin_course()
|
create_versicherungsvermittlerin_course()
|
||||||
|
|
||||||
|
def test_update_course_profile(self):
|
||||||
user = User.objects.get(username="student-vv@eiger-versicherungen.ch")
|
user = User.objects.get(username="student-vv@eiger-versicherungen.ch")
|
||||||
request = RequestFactory().get("/")
|
request = RequestFactory().get("/")
|
||||||
request.user = user
|
request.user = user
|
||||||
self.client = Client(schema=schema, context_value=request)
|
client = Client(schema=schema, context_value=request)
|
||||||
|
|
||||||
def test_query(self):
|
|
||||||
query = """
|
query = """
|
||||||
query CourseQuery($slug: String!) {
|
query CourseQuery($slug: String!) {
|
||||||
course(slug: $slug){
|
course(slug: $slug){
|
||||||
|
|
@ -39,7 +41,7 @@ class CourseGraphQLTestCase(TestCase):
|
||||||
"""
|
"""
|
||||||
slug = "versicherungsvermittler-in"
|
slug = "versicherungsvermittler-in"
|
||||||
variables = {"slug": slug}
|
variables = {"slug": slug}
|
||||||
result = self.client.execute(query, variables=variables)
|
result = client.execute(query, variables=variables)
|
||||||
|
|
||||||
self.assertIsNone(result.get("errors"))
|
self.assertIsNone(result.get("errors"))
|
||||||
data = result.get("data")
|
data = result.get("data")
|
||||||
|
|
@ -76,11 +78,11 @@ class CourseGraphQLTestCase(TestCase):
|
||||||
profile = "nichtleben"
|
profile = "nichtleben"
|
||||||
input = {"course_profile": profile, "course_slug": slug}
|
input = {"course_profile": profile, "course_slug": slug}
|
||||||
|
|
||||||
mutation_result = self.client.execute(mutation, variables={"input": input})
|
mutation_result = client.execute(mutation, variables={"input": input})
|
||||||
|
|
||||||
self.assertIsNone(mutation_result.get("errors"))
|
self.assertIsNone(mutation_result.get("errors"))
|
||||||
|
|
||||||
second_query_result = self.client.execute(query, variables=variables)
|
second_query_result = client.execute(query, variables=variables)
|
||||||
|
|
||||||
self.assertIsNone(second_query_result.get("errors"))
|
self.assertIsNone(second_query_result.get("errors"))
|
||||||
data = second_query_result.get("data")
|
data = second_query_result.get("data")
|
||||||
|
|
@ -92,3 +94,67 @@ class CourseGraphQLTestCase(TestCase):
|
||||||
course_session_user = course.get("course_session_users")[0]
|
course_session_user = course.get("course_session_users")[0]
|
||||||
chosen_profile = course_session_user.get("chosen_profile")
|
chosen_profile = course_session_user.get("chosen_profile")
|
||||||
self.assertEqual(chosen_profile, profile)
|
self.assertEqual(chosen_profile, profile)
|
||||||
|
|
||||||
|
def test_mentor_profile_view(self):
|
||||||
|
user = User.objects.get(username="test-mentor1@example.com")
|
||||||
|
request = RequestFactory().get("/")
|
||||||
|
request.user = user
|
||||||
|
client = Client(schema=schema, context_value=request)
|
||||||
|
|
||||||
|
query = """
|
||||||
|
query courseQuery($slug: String!, $user: String) {
|
||||||
|
course(slug: $slug) {
|
||||||
|
id
|
||||||
|
title
|
||||||
|
slug
|
||||||
|
category_name
|
||||||
|
profiles
|
||||||
|
course_session_users(id: $user) {
|
||||||
|
id
|
||||||
|
__typename
|
||||||
|
chosen_profile
|
||||||
|
course_session {
|
||||||
|
id
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
student = User.objects.get(username="student-vv@eiger-versicherungen.ch")
|
||||||
|
|
||||||
|
slug = "versicherungsvermittler-in"
|
||||||
|
student_id = str(student.id)
|
||||||
|
variables = {"slug": slug, "user": student_id}
|
||||||
|
print(variables)
|
||||||
|
result = client.execute(query, variables=variables)
|
||||||
|
self.assertIsNone(result.get("errors"))
|
||||||
|
data = result.get("data")
|
||||||
|
course = data.get("course")
|
||||||
|
profiles = course.get("profiles")
|
||||||
|
self.assertEqual(
|
||||||
|
set(profiles), set(["nichtleben", "leben", "krankenzusatzversicherung"])
|
||||||
|
)
|
||||||
|
course_session_user = course.get("course_session_users")[0]
|
||||||
|
chosen_profile = course_session_user.get("chosen_profile")
|
||||||
|
self.assertEqual(chosen_profile, "")
|
||||||
|
|
||||||
|
csu = CourseSessionUser.objects.get(
|
||||||
|
course_session__course__slug=slug, user=student
|
||||||
|
)
|
||||||
|
course_profile = CourseProfile.objects.get(code="nichtleben")
|
||||||
|
csu.chosen_profile = course_profile
|
||||||
|
csu.save()
|
||||||
|
|
||||||
|
second_result = client.execute(query, variables=variables)
|
||||||
|
self.assertIsNone(second_result.get("errors"))
|
||||||
|
data = second_result.get("data")
|
||||||
|
course = data.get("course")
|
||||||
|
profiles = course.get("profiles")
|
||||||
|
self.assertEqual(
|
||||||
|
set(profiles), set(["nichtleben", "leben", "krankenzusatzversicherung"])
|
||||||
|
)
|
||||||
|
course_session_user = course.get("course_session_users")[0]
|
||||||
|
chosen_profile = course_session_user.get("chosen_profile")
|
||||||
|
self.assertEqual(chosen_profile, "nichtleben")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue