def METHOD_NAME(self):
    """ helper method to create a cached program """
    program = ProgramFactory.create()
    for course_key in self.course_keys:
        program['courses'].append(CourseFactory(id=course_key))
    program['type'] = 'MicroBachelors'
    program['type_attrs']['coaching_supported'] = True
    for course in program['courses']:
        cache.set(
            CATALOG_COURSE_PROGRAMS_CACHE_KEY_TPL.format(course_uuid=course['uuid']),
            [program['uuid']],
            None
        )
        course_run = course['course_runs'][0]['key']
        cache.set(
            COURSE_PROGRAMS_CACHE_KEY_TPL.format(course_run_id=course_run),
            [program['uuid']],
            None
        )
    cache.set(
        PROGRAM_CACHE_KEY_TPL.format(uuid=program['uuid']),
        program,
        None
    )
    return program