Treat no-id-professional enrollments as professional
ECOM-7746
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user