Do not count programs with no courses as completed

LEARNER-1143
This commit is contained in:
Matthew Piatetsky
2017-07-13 14:34:50 -04:00
parent be3c29b006
commit de3c802700
2 changed files with 10 additions and 1 deletions

View File

@@ -445,6 +445,14 @@ class TestProgramProgressMeter(TestCase):
)
self.assertEqual(meter.completed_programs, [program_uuid])
def test_empty_programs(self, mock_get_programs):
"""Verify that programs with no courses do not count as completed."""
program = ProgramFactory()
program['courses'] = []
meter = ProgramProgressMeter(self.user)
program_complete = meter._is_program_complete(program)
self.assertFalse(program_complete)
@mock.patch(UTILS_MODULE + '.ProgramProgressMeter.completed_course_runs', new_callable=mock.PropertyMock)
def test_completed_programs(self, mock_completed_course_runs, mock_get_programs):
"""Verify that completed programs are correctly identified."""

View File

@@ -244,7 +244,8 @@ class ProgramProgressMeter(object):
Returns:
bool, indicating whether the program is complete.
"""
return all(self._is_course_complete(course) for course in program['courses'])
return all(self._is_course_complete(course) for course in program['courses']) \
and len(program['courses']) > 0
def _is_course_complete(self, course):
"""Check if a user has completed a course.