feat: default grade designations configurable from settings (#32406)

This commit is contained in:
Kaustav Banerjee
2024-05-08 01:14:03 +05:30
committed by GitHub
parent e94b942ec9
commit d43a2f73eb
9 changed files with 41 additions and 10 deletions

View File

@@ -40,3 +40,6 @@ class CourseGradingSerializer(serializers.Serializer):
course_details = CourseGradingModelSerializer()
show_credit_eligibility = serializers.BooleanField()
is_credit_course = serializers.BooleanField()
default_grade_designations = serializers.ListSerializer(
child=serializers.CharField()
)

View File

@@ -85,7 +85,8 @@ class CourseGradingView(DeveloperErrorViewMixin, APIView):
"minimum_grade_credit": 0.7
},
"show_credit_eligibility": false,
"is_credit_course": true
"is_credit_course": true,
"default_grade_designations": ["A","B","C","D"]
}
```
"""

View File

@@ -42,11 +42,22 @@ class CourseGradingViewTest(CourseTestCase, PermissionAccessMixin):
"course_details": grading_data.__dict__,
"show_credit_eligibility": False,
"is_credit_course": False,
"default_grade_designations": ['A', 'B', 'C', 'D'],
}
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertDictEqual(expected_response, response.data)
@patch("django.conf.settings.DEFAULT_GRADE_DESIGNATIONS", ['A', 'B'])
def test_default_grade_designations_setting(self):
"""
Check that DEFAULT_GRADE_DESIGNATIONS setting reflects correctly in API.
"""
response = self.client.get(self.url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(['A', 'B'], response.data["default_grade_designations"])
@patch.dict("django.conf.settings.FEATURES", {"ENABLE_CREDIT_ELIGIBILITY": True})
def test_credit_eligibility_setting(self):
"""

View File

@@ -1486,7 +1486,8 @@ def get_course_grading(course_key):
'grading_url': reverse_course_url('grading_handler', course_key),
'is_credit_course': is_credit_course(course_key),
'mfe_proctored_exam_settings_url': get_proctored_exam_settings_url(course_key),
'course_assignment_lists': dict(course_assignment_lists)
'course_assignment_lists': dict(course_assignment_lists),
'default_grade_designations': settings.DEFAULT_GRADE_DESIGNATIONS
}
return grading_context