Do not count programs with no courses as completed
LEARNER-1143
This commit is contained in:
@@ -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."""
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user