diff --git a/src/course-home/data/__snapshots__/redux.test.js.snap b/src/course-home/data/__snapshots__/redux.test.js.snap index ab8ac292..46e507e4 100644 --- a/src/course-home/data/__snapshots__/redux.test.js.snap +++ b/src/course-home/data/__snapshots__/redux.test.js.snap @@ -607,7 +607,7 @@ Object { "gradingPolicy": Object { "assignmentPolicies": Array [ Object { - "averageGrade": 1, + "averageGrade": "1.00", "numDroppable": 1, "shortLabel": "HW", "type": "Homework", diff --git a/src/course-home/data/api.js b/src/course-home/data/api.js index 6988bc32..f2133ac2 100644 --- a/src/course-home/data/api.js +++ b/src/course-home/data/api.js @@ -15,7 +15,10 @@ const calculateAssignmentTypeGrades = (points, assignmentWeight, numDroppable) = let averageGrade = 0; let weightedGrade = 0; if (points.length) { - averageGrade = points.reduce((a, b) => a + b, 0) / points.length; + // Calculate the average grade for the assignment and round it. This rounding is not ideal and does not accurately + // reflect what a learner's grade would be, however, we must have parity with the current grading behavior that + // exists in edx-platform. + averageGrade = (points.reduce((a, b) => a + b, 0) / points.length).toFixed(2); weightedGrade = averageGrade * assignmentWeight; } return { averageGrade, weightedGrade };