diff --git a/core/tests/test_export.py b/core/tests/test_export.py index b0ae6ff7a9ccd8248e5bd859e0d9296ca6b4ad89..c7422190177899e61721fe5b424ca0432f171d18 100644 --- a/core/tests/test_export.py +++ b/core/tests/test_export.py @@ -9,6 +9,11 @@ class ExportCSVTest(TestCase): @classmethod def setUpTestData(cls): cls.data = make_test_data(data_dict={ + 'exams': [{ + 'module_reference': 'Test Exam 01', + 'total_score': 100, + 'pass_score': 60, + }], 'submission_types': [ { 'name': '01. Sort', @@ -24,8 +29,8 @@ class ExportCSVTest(TestCase): } ], 'students': [ - {'username': 'student01'}, - {'username': 'student02'} + {'username': 'student01', 'exam': 'Test Exam 01'}, + {'username': 'student02', 'exam': 'Test Exam 01'} ], 'reviewers': [ {'username': 'reviewer'} @@ -81,6 +86,6 @@ class ExportCSVTest(TestCase): def test_data_is_correct(self): head, student1, student2, _ = self.response.content.split(b'\r\n') - self.assertIn(b'Matrikel;Name;Sum;01. Sort;02. Shuffle', head) - self.assertIn(b';;5;5;0', student1) - self.assertIn(b';;0;0;0', student2) + self.assertIn(b'Matrikel;Name;Exam;Sum;01. Sort;02. Shuffle', head) + self.assertIn(b';;Test Exam 01;5;5;0', student1) + self.assertIn(b';;Test Exam 01;0;0;0', student2) diff --git a/core/views/export.py b/core/views/export.py index 7628c7fe0e19d27675aec47216e7e166170d1835..f31e3d4b0674e8f251575a5ba38d0b01051ca386 100644 --- a/core/views/export.py +++ b/core/views/export.py @@ -18,7 +18,7 @@ class StudentCSVExport(APIView): def get_renderer_context(self): context = super().get_renderer_context() - context['header'] = ('Matrikel', 'Name', 'Sum', + context['header'] = ('Matrikel', 'Name', 'Exam', 'Sum', *SubmissionType.objects.values_list('name', flat=True)) context['delimiter'] = ';' @@ -33,6 +33,7 @@ class StudentCSVExport(APIView): content = [{'Matrikel': student.matrikel_no, 'Name': student.user.fullname, 'Sum': student.overall_score, + 'Exam': student.exam.module_reference, **student.score_per_submission() } for student in StudentInfo.get_annotated_score_submission_list()]