Merge pull request #16218 from edx/naa/fix-grade-zero-error

Grades: Fix ZeroDivisionError
This commit is contained in:
Nimisha Asthagiri
2017-10-12 15:36:07 -04:00
committed by GitHub
2 changed files with 14 additions and 1 deletions

View File

@@ -141,7 +141,10 @@ class NonZeroSubsectionGrade(SubsectionGradeBase):
@property
def percent_graded(self):
return self.graded_total.earned / self.graded_total.possible
if self.graded_total.possible > 0:
return self.graded_total.earned / self.graded_total.possible
else:
return 0.0
@staticmethod
def _compute_block_score(

View File

@@ -36,3 +36,13 @@ class SubsectionGradeTest(GradeTestBase):
read_grade.all_total.first_attempted = created_grade.all_total.first_attempted = None
self.assertEqual(created_grade.all_total, read_grade.all_total)
self.assertEqual(created_grade.percent_graded, 0.5)
def test_zero(self):
with mock_get_score(1, 0):
grade = CreateSubsectionGrade(
self.sequence,
self.course_structure,
self.subsection_grade_factory._submissions_scores,
self.subsection_grade_factory._csm_scores,
)
self.assertEqual(grade.percent_graded, 0.0)