Commit c13ac619 by Matthew Piatetsky

Treat no-id-professional enrollments as professional

ECOM-7746
parent 22ab0c8d
......@@ -11,6 +11,7 @@ import mock
from nose.plugins.attrib import attr
from pytz import utc
from course_modes.models import CourseMode
from lms.djangoapps.certificates.api import MODES
from lms.djangoapps.commerce.tests.test_utils import update_commerce_config
from openedx.core.djangoapps.catalog.tests.factories import (
......@@ -151,6 +152,42 @@ class TestProgramProgressMeter(TestCase):
self.assertEqual(meter.progress(count_only=False), expected)
def test_no_id_professional_in_progress(self, mock_get_programs):
"""
Verify that the progress meter treats no-id-professional enrollments
as professional.
"""
course_run_key = generate_course_run_key()
data = [
ProgramFactory(
courses=[
CourseFactory(course_runs=[
CourseRunFactory(key=course_run_key, type=CourseMode.PROFESSIONAL),
]),
]
)
]
mock_get_programs.return_value = data
CourseEnrollmentFactory(
user=self.user, course_id=course_run_key,
mode=CourseMode.NO_ID_PROFESSIONAL_MODE
)
meter = ProgramProgressMeter(self.user)
program = data[0]
expected = [
ProgressFactory(
uuid=program['uuid'],
completed=[],
in_progress=[program['courses'][0]],
not_started=[]
)
]
self.assertEqual(meter.progress(count_only=False), expected)
@ddt.data(1, -1)
def test_in_progress_course_upgrade_deadline_check(self, modifier, mock_get_programs):
"""
......
......@@ -75,7 +75,10 @@ class ProgramProgressMeter(object):
for enrollment in self.enrollments:
# enrollment.course_id is really a CourseKey (╯ಠ_ಠ)╯︵ ┻━┻
enrollment_id = unicode(enrollment.course_id)
self.enrolled_run_modes[enrollment_id] = enrollment.mode
mode = enrollment.mode
if mode == CourseMode.NO_ID_PROFESSIONAL_MODE:
mode = CourseMode.PROFESSIONAL
self.enrolled_run_modes[enrollment_id] = mode
# We can't use dict.keys() for this because the course run ids need to be ordered
self.course_run_ids.append(enrollment_id)
......
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