'Course runs aren\'t necessarily of type verified. Verify that a program can
still be completed when this is the case.'

@mock.patch((UTILS_MODULE + '.ProgramProgressMeter.completed_course_runs'), new_callable=mock.PropertyMock)
def test_nonverified_course_run_completion(self, mock_completed_course_runs, mock_get_programs):

    course_run_key = generate_course_run_key()
    data = [ProgramFactory(courses=[CourseFactory(course_runs=[CourseRunFactory(key=course_run_key, type='honor'), CourseRunFactory()])]), ProgramFactory()]
    mock_get_programs.return_value = data
    self._create_enrollments(course_run_key)
    mock_completed_course_runs.return_value = [{'course_run_id': course_run_key, 'type': MODES.honor}]
    meter = ProgramProgressMeter(self.site, self.user)
    (program, program_uuid) = (data[0], data[0]['uuid'])
    self._assert_progress(meter, ProgressFactory(uuid=program_uuid, completed=1))
    self.assertEqual(meter.completed_programs, [program_uuid])
