Commit 2c2aa903 by Matthew Piatetsky Committed by GitHub

Merge pull request #15562 from edx/LEARNER-1143

LEARNER-1143 Do not count programs with no courses as completed
parents 99994b0e de3c8027
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment