followup: fixes the dashboard / statistics tests
This commit is contained in:
parent
ca44a913c9
commit
5665ffdee0
|
|
@ -128,7 +128,7 @@ def assignments(
|
||||||
course_session_selection_ids: graphene.List(graphene.ID),
|
course_session_selection_ids: graphene.List(graphene.ID),
|
||||||
) -> Assignments:
|
) -> Assignments:
|
||||||
course_sessions = CourseSession.objects.filter(
|
course_sessions = CourseSession.objects.filter(
|
||||||
id_in=course_session_selection_ids,
|
id__in=course_session_selection_ids,
|
||||||
)
|
)
|
||||||
|
|
||||||
records: List[AssignmentRecord] = []
|
records: List[AssignmentRecord] = []
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ def feedback_responses(
|
||||||
) -> FeedbackResponses:
|
) -> FeedbackResponses:
|
||||||
# Get all course sessions for this user in the given course
|
# Get all course sessions for this user in the given course
|
||||||
course_sessions = CourseSession.objects.filter(
|
course_sessions = CourseSession.objects.filter(
|
||||||
id_in=course_session_selection_ids,
|
id__in=course_session_selection_ids,
|
||||||
)
|
)
|
||||||
|
|
||||||
circle_feedbacks = []
|
circle_feedbacks = []
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||||
create_course_session_assignment,
|
create_course_session_assignment,
|
||||||
create_course_session_edoniq_test,
|
create_course_session_edoniq_test,
|
||||||
create_user,
|
create_user,
|
||||||
|
create_course_session_group,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.learnpath.models import Circle
|
from vbv_lernwelt.learnpath.models import Circle
|
||||||
|
|
||||||
|
|
@ -61,6 +62,10 @@ class AssignmentTestCase(GraphQLTestCase):
|
||||||
|
|
||||||
self.supervisor = create_user("supervisor")
|
self.supervisor = create_user("supervisor")
|
||||||
|
|
||||||
|
create_course_session_group(
|
||||||
|
course_session=self.course_session, user=self.supervisor
|
||||||
|
)
|
||||||
|
|
||||||
self.m1 = create_user("member_1")
|
self.m1 = create_user("member_1")
|
||||||
add_course_session_user(
|
add_course_session_user(
|
||||||
course_session=self.course_session,
|
course_session=self.course_session,
|
||||||
|
|
@ -146,7 +151,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
||||||
self.assertResponseNoErrors(response)
|
self.assertResponseNoErrors(response)
|
||||||
dashboard = response.json()["data"]["course_statistics"]
|
dashboard = response.json()["data"]["course_statistics"]
|
||||||
|
|
||||||
records = dashboard[0]["assignments"]["records"]
|
records = dashboard["assignments"]["records"]
|
||||||
self.assertEqual(len(records), 1)
|
self.assertEqual(len(records), 1)
|
||||||
|
|
||||||
record = records[0]
|
record = records[0]
|
||||||
|
|
@ -188,7 +193,7 @@ class AssignmentTestCase(GraphQLTestCase):
|
||||||
self.assertResponseNoErrors(response)
|
self.assertResponseNoErrors(response)
|
||||||
dashboard = response.json()["data"]["course_statistics"]
|
dashboard = response.json()["data"]["course_statistics"]
|
||||||
|
|
||||||
records = dashboard[0]["assignments"]["records"]
|
records = dashboard["assignments"]["records"]
|
||||||
self.assertEqual(len(records), 0)
|
self.assertEqual(len(records), 0)
|
||||||
|
|
||||||
def test_metrics_summary(self):
|
def test_metrics_summary(self):
|
||||||
|
|
@ -281,11 +286,11 @@ class AssignmentTestCase(GraphQLTestCase):
|
||||||
# 2 -> complete 66% passed ...
|
# 2 -> complete 66% passed ...
|
||||||
# 3 -> complete 100% passed --> 83.5%
|
# 3 -> complete 100% passed --> 83.5%
|
||||||
# 4 -> incomplete (not counted for average)
|
# 4 -> incomplete (not counted for average)
|
||||||
summary = dashboard[0]["assignments"]["summary"]
|
summary = dashboard["assignments"]["summary"]
|
||||||
self.assertEqual(summary["completed_count"], 2)
|
self.assertEqual(summary["completed_count"], 2)
|
||||||
self.assertEqual(summary["average_passed"], 83.5)
|
self.assertEqual(summary["average_passed"], 83.5)
|
||||||
|
|
||||||
records = dashboard[0]["assignments"]["records"]
|
records = dashboard["assignments"]["records"]
|
||||||
self.assertEqual(len(records), 4)
|
self.assertEqual(len(records), 4)
|
||||||
|
|
||||||
# 1 -> assigment_1_results (oldest)
|
# 1 -> assigment_1_results (oldest)
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||||
create_course,
|
create_course,
|
||||||
create_course_session,
|
create_course_session,
|
||||||
create_user,
|
create_user,
|
||||||
|
create_course_session_group,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -23,8 +24,8 @@ class DashboardAttendanceTestCase(GraphQLTestCase):
|
||||||
course, course_page = create_course("Test Course")
|
course, course_page = create_course("Test Course")
|
||||||
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
||||||
|
|
||||||
# TODO: Give this guy the right permissions, once we have them ;)
|
|
||||||
supervisor = create_user("supervisor")
|
supervisor = create_user("supervisor")
|
||||||
|
create_course_session_group(course_session=course_session, user=supervisor)
|
||||||
|
|
||||||
circle, _ = create_circle(title="Test Circle", course_page=course_page)
|
circle, _ = create_circle(title="Test Circle", course_page=course_page)
|
||||||
|
|
||||||
|
|
@ -100,9 +101,7 @@ class DashboardAttendanceTestCase(GraphQLTestCase):
|
||||||
|
|
||||||
data = response.json()["data"]
|
data = response.json()["data"]
|
||||||
|
|
||||||
attendance_day_presences = data["course_statistics"][0][
|
attendance_day_presences = data["course_statistics"]["attendance_day_presences"]
|
||||||
"attendance_day_presences"
|
|
||||||
]
|
|
||||||
|
|
||||||
record = attendance_day_presences["records"][0]
|
record = attendance_day_presences["records"][0]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||||
create_course_session,
|
create_course_session,
|
||||||
create_performance_criteria_page,
|
create_performance_criteria_page,
|
||||||
create_user,
|
create_user,
|
||||||
|
create_course_session_group,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -20,8 +21,8 @@ class DashboardCompetenceTestCase(GraphQLTestCase):
|
||||||
course, course_page = create_course("Test Course")
|
course, course_page = create_course("Test Course")
|
||||||
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
||||||
|
|
||||||
# TODO: Give this guy the right permissions, once we have them ;)
|
|
||||||
supervisor = create_user("supervisor")
|
supervisor = create_user("supervisor")
|
||||||
|
create_course_session_group(course_session=course_session, user=supervisor)
|
||||||
|
|
||||||
member_one = create_user("member one")
|
member_one = create_user("member one")
|
||||||
add_course_session_user(
|
add_course_session_user(
|
||||||
|
|
@ -86,8 +87,7 @@ class DashboardCompetenceTestCase(GraphQLTestCase):
|
||||||
# THEN
|
# THEN
|
||||||
self.assertResponseNoErrors(response)
|
self.assertResponseNoErrors(response)
|
||||||
|
|
||||||
competences = response.json()["data"]["course_statistics"][0]["competences"]
|
competences = response.json()["data"]["course_statistics"]["competences"]
|
||||||
|
|
||||||
performances = competences["performances"]
|
performances = competences["performances"]
|
||||||
|
|
||||||
self.assertEqual(performances[0]["success_count"], 1)
|
self.assertEqual(performances[0]["success_count"], 1)
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,11 @@ class DashboardTestCase(GraphQLTestCase):
|
||||||
course_1, _ = create_course("Test Course 1")
|
course_1, _ = create_course("Test Course 1")
|
||||||
course_2, _ = create_course("Test Course 2")
|
course_2, _ = create_course("Test Course 2")
|
||||||
|
|
||||||
create_course_session(course=course_1, title="Test Course 1 Session")
|
cs_1 = create_course_session(course=course_1, title="Test Course 1 Session")
|
||||||
create_course_session(course=course_2, title="Test Course 2 Session")
|
cs_2 = create_course_session(course=course_2, title="Test Course 2 Session")
|
||||||
|
|
||||||
|
create_course_session_group(course_session=cs_1, user=supervisor)
|
||||||
|
create_course_session_group(course_session=cs_2, user=supervisor)
|
||||||
|
|
||||||
self.client.force_login(supervisor)
|
self.client.force_login(supervisor)
|
||||||
|
|
||||||
|
|
@ -83,7 +86,7 @@ class DashboardTestCase(GraphQLTestCase):
|
||||||
course_id
|
course_id
|
||||||
}}
|
}}
|
||||||
}}
|
}}
|
||||||
"""
|
"""
|
||||||
variables = {"course_id": str(course_2.id)}
|
variables = {"course_id": str(course_2.id)}
|
||||||
|
|
||||||
# WHEN
|
# WHEN
|
||||||
|
|
@ -93,9 +96,7 @@ class DashboardTestCase(GraphQLTestCase):
|
||||||
self.assertResponseNoErrors(response)
|
self.assertResponseNoErrors(response)
|
||||||
|
|
||||||
course_statistics = response.json()["data"]["course_statistics"]
|
course_statistics = response.json()["data"]["course_statistics"]
|
||||||
|
self.assertEqual(course_statistics["course_id"], str(course_2.id))
|
||||||
self.assertEqual(len(course_statistics), 1)
|
|
||||||
self.assertEqual(course_statistics[0]["course_id"], str(course_2.id))
|
|
||||||
|
|
||||||
|
|
||||||
def find_dashboard_config_by_course_id(dashboard_configs, course_id):
|
def find_dashboard_config_by_course_id(dashboard_configs, course_id):
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
|
||||||
create_course,
|
create_course,
|
||||||
create_course_session,
|
create_course_session,
|
||||||
create_user,
|
create_user,
|
||||||
|
create_course_session_group,
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||||
|
|
||||||
|
|
@ -19,8 +20,8 @@ class DashboardFeedbackTestCase(GraphQLTestCase):
|
||||||
course, course_page = create_course("Test Course")
|
course, course_page = create_course("Test Course")
|
||||||
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
course_session = create_course_session(course=course, title="Test Bern 2022 a")
|
||||||
|
|
||||||
# TODO: Give this guy the right permissions, once we have them ;)
|
|
||||||
supervisor = create_user("supervisor")
|
supervisor = create_user("supervisor")
|
||||||
|
create_course_session_group(course_session=course_session, user=supervisor)
|
||||||
|
|
||||||
member = create_user("member")
|
member = create_user("member")
|
||||||
add_course_session_user(
|
add_course_session_user(
|
||||||
|
|
@ -94,7 +95,7 @@ class DashboardFeedbackTestCase(GraphQLTestCase):
|
||||||
self.assertResponseNoErrors(response)
|
self.assertResponseNoErrors(response)
|
||||||
|
|
||||||
course_statistics = response.json()["data"]["course_statistics"]
|
course_statistics = response.json()["data"]["course_statistics"]
|
||||||
feedback_responses = course_statistics[0]["feedback_responses"]
|
feedback_responses = course_statistics["feedback_responses"]
|
||||||
|
|
||||||
records = feedback_responses["records"]
|
records = feedback_responses["records"]
|
||||||
self.assertEqual(len(records), 2)
|
self.assertEqual(len(records), 2)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue