diff --git a/server/vbv_lernwelt/dashboard/graphql/types/assignment.py b/server/vbv_lernwelt/dashboard/graphql/types/assignment.py index 8baa650b..91a05e89 100644 --- a/server/vbv_lernwelt/dashboard/graphql/types/assignment.py +++ b/server/vbv_lernwelt/dashboard/graphql/types/assignment.py @@ -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] = [] diff --git a/server/vbv_lernwelt/dashboard/graphql/types/feedback.py b/server/vbv_lernwelt/dashboard/graphql/types/feedback.py index 1a1b35c9..3f078208 100644 --- a/server/vbv_lernwelt/dashboard/graphql/types/feedback.py +++ b/server/vbv_lernwelt/dashboard/graphql/types/feedback.py @@ -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 = [] diff --git a/server/vbv_lernwelt/dashboard/tests/graphql/test_assignment.py b/server/vbv_lernwelt/dashboard/tests/graphql/test_assignment.py index 6151e4f0..f82ae426 100644 --- a/server/vbv_lernwelt/dashboard/tests/graphql/test_assignment.py +++ b/server/vbv_lernwelt/dashboard/tests/graphql/test_assignment.py @@ -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) diff --git a/server/vbv_lernwelt/dashboard/tests/graphql/test_attendance.py b/server/vbv_lernwelt/dashboard/tests/graphql/test_attendance.py index 0148508a..6c0a9eca 100644 --- a/server/vbv_lernwelt/dashboard/tests/graphql/test_attendance.py +++ b/server/vbv_lernwelt/dashboard/tests/graphql/test_attendance.py @@ -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] diff --git a/server/vbv_lernwelt/dashboard/tests/graphql/test_competence.py b/server/vbv_lernwelt/dashboard/tests/graphql/test_competence.py index 047e54d6..c12d1392 100644 --- a/server/vbv_lernwelt/dashboard/tests/graphql/test_competence.py +++ b/server/vbv_lernwelt/dashboard/tests/graphql/test_competence.py @@ -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) diff --git a/server/vbv_lernwelt/dashboard/tests/graphql/test_dashboard.py b/server/vbv_lernwelt/dashboard/tests/graphql/test_dashboard.py index 08bd44c1..6812e0b4 100644 --- a/server/vbv_lernwelt/dashboard/tests/graphql/test_dashboard.py +++ b/server/vbv_lernwelt/dashboard/tests/graphql/test_dashboard.py @@ -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): diff --git a/server/vbv_lernwelt/dashboard/tests/graphql/test_feedback.py b/server/vbv_lernwelt/dashboard/tests/graphql/test_feedback.py index 1158c05a..475376b0 100644 --- a/server/vbv_lernwelt/dashboard/tests/graphql/test_feedback.py +++ b/server/vbv_lernwelt/dashboard/tests/graphql/test_feedback.py @@ -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)