followup: fixes the dashboard / statistics tests

This commit is contained in:
Livio Bieri 2023-10-24 13:52:52 +02:00
parent ca44a913c9
commit 5665ffdee0
7 changed files with 27 additions and 21 deletions

View File

@ -128,7 +128,7 @@ def assignments(
course_session_selection_ids: graphene.List(graphene.ID),
) -> Assignments:
course_sessions = CourseSession.objects.filter(
id_in=course_session_selection_ids,
id__in=course_session_selection_ids,
)
records: List[AssignmentRecord] = []

View File

@ -31,7 +31,7 @@ def feedback_responses(
) -> FeedbackResponses:
# Get all course sessions for this user in the given course
course_sessions = CourseSession.objects.filter(
id_in=course_session_selection_ids,
id__in=course_session_selection_ids,
)
circle_feedbacks = []

View File

@ -20,6 +20,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
create_course_session_assignment,
create_course_session_edoniq_test,
create_user,
create_course_session_group,
)
from vbv_lernwelt.learnpath.models import Circle
@ -61,6 +62,10 @@ class AssignmentTestCase(GraphQLTestCase):
self.supervisor = create_user("supervisor")
create_course_session_group(
course_session=self.course_session, user=self.supervisor
)
self.m1 = create_user("member_1")
add_course_session_user(
course_session=self.course_session,
@ -146,7 +151,7 @@ class AssignmentTestCase(GraphQLTestCase):
self.assertResponseNoErrors(response)
dashboard = response.json()["data"]["course_statistics"]
records = dashboard[0]["assignments"]["records"]
records = dashboard["assignments"]["records"]
self.assertEqual(len(records), 1)
record = records[0]
@ -188,7 +193,7 @@ class AssignmentTestCase(GraphQLTestCase):
self.assertResponseNoErrors(response)
dashboard = response.json()["data"]["course_statistics"]
records = dashboard[0]["assignments"]["records"]
records = dashboard["assignments"]["records"]
self.assertEqual(len(records), 0)
def test_metrics_summary(self):
@ -281,11 +286,11 @@ class AssignmentTestCase(GraphQLTestCase):
# 2 -> complete 66% passed ...
# 3 -> complete 100% passed --> 83.5%
# 4 -> incomplete (not counted for average)
summary = dashboard[0]["assignments"]["summary"]
summary = dashboard["assignments"]["summary"]
self.assertEqual(summary["completed_count"], 2)
self.assertEqual(summary["average_passed"], 83.5)
records = dashboard[0]["assignments"]["records"]
records = dashboard["assignments"]["records"]
self.assertEqual(len(records), 4)
# 1 -> assigment_1_results (oldest)

View File

@ -12,6 +12,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
create_course,
create_course_session,
create_user,
create_course_session_group,
)
@ -23,8 +24,8 @@ class DashboardAttendanceTestCase(GraphQLTestCase):
course, course_page = create_course("Test Course")
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")
create_course_session_group(course_session=course_session, user=supervisor)
circle, _ = create_circle(title="Test Circle", course_page=course_page)
@ -100,9 +101,7 @@ class DashboardAttendanceTestCase(GraphQLTestCase):
data = response.json()["data"]
attendance_day_presences = data["course_statistics"][0][
"attendance_day_presences"
]
attendance_day_presences = data["course_statistics"]["attendance_day_presences"]
record = attendance_day_presences["records"][0]

View File

@ -9,6 +9,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
create_course_session,
create_performance_criteria_page,
create_user,
create_course_session_group,
)
@ -20,8 +21,8 @@ class DashboardCompetenceTestCase(GraphQLTestCase):
course, course_page = create_course("Test Course")
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")
create_course_session_group(course_session=course_session, user=supervisor)
member_one = create_user("member one")
add_course_session_user(
@ -86,8 +87,7 @@ class DashboardCompetenceTestCase(GraphQLTestCase):
# THEN
self.assertResponseNoErrors(response)
competences = response.json()["data"]["course_statistics"][0]["competences"]
competences = response.json()["data"]["course_statistics"]["competences"]
performances = competences["performances"]
self.assertEqual(performances[0]["success_count"], 1)

View File

@ -73,8 +73,11 @@ class DashboardTestCase(GraphQLTestCase):
course_1, _ = create_course("Test Course 1")
course_2, _ = create_course("Test Course 2")
create_course_session(course=course_1, title="Test Course 1 Session")
create_course_session(course=course_2, title="Test Course 2 Session")
cs_1 = create_course_session(course=course_1, title="Test Course 1 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)
@ -83,7 +86,7 @@ class DashboardTestCase(GraphQLTestCase):
course_id
}}
}}
"""
"""
variables = {"course_id": str(course_2.id)}
# WHEN
@ -93,9 +96,7 @@ class DashboardTestCase(GraphQLTestCase):
self.assertResponseNoErrors(response)
course_statistics = response.json()["data"]["course_statistics"]
self.assertEqual(len(course_statistics), 1)
self.assertEqual(course_statistics[0]["course_id"], str(course_2.id))
self.assertEqual(course_statistics["course_id"], str(course_2.id))
def find_dashboard_config_by_course_id(dashboard_configs, course_id):

View File

@ -7,6 +7,7 @@ from vbv_lernwelt.dashboard.tests.graphql.utils import (
create_course,
create_course_session,
create_user,
create_course_session_group,
)
from vbv_lernwelt.feedback.models import FeedbackResponse
@ -19,8 +20,8 @@ class DashboardFeedbackTestCase(GraphQLTestCase):
course, course_page = create_course("Test Course")
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")
create_course_session_group(course_session=course_session, user=supervisor)
member = create_user("member")
add_course_session_user(
@ -94,7 +95,7 @@ class DashboardFeedbackTestCase(GraphQLTestCase):
self.assertResponseNoErrors(response)
course_statistics = response.json()["data"]["course_statistics"]
feedback_responses = course_statistics[0]["feedback_responses"]
feedback_responses = course_statistics["feedback_responses"]
records = feedback_responses["records"]
self.assertEqual(len(records), 2)