feat: default grade designations configurable from settings (#32406)
This commit is contained in:
@@ -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()
|
||||
)
|
||||
|
||||
@@ -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"]
|
||||
}
|
||||
```
|
||||
"""
|
||||
|
||||
@@ -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):
|
||||
"""
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user