Merge pull request #20182 from edx/zamir/LEARNER_6734_change_attribute_in_logging

Change attribute in ProgramDataExtender log warning
This commit is contained in:
Zainab Amir
2019-04-10 13:56:36 +05:00
committed by GitHub
2 changed files with 20 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ from pytz import utc
from course_modes.models import CourseMode
from entitlements.tests.factories import CourseEntitlementFactory
from testfixtures import LogCapture
from waffle.testutils import override_switch
from lms.djangoapps.certificates.api import MODES
@@ -50,6 +51,7 @@ from xmodule.modulestore.tests.factories import CourseFactory as ModuleStoreCour
CERTIFICATES_API_MODULE = 'lms.djangoapps.certificates.api'
ECOMMERCE_URL_ROOT = 'https://ecommerce.example.com'
UTILS_MODULE = 'openedx.core.djangoapps.programs.utils'
LOGGER_NAME = 'openedx.core.djangoapps.programs.utils'
@ddt.ddt
@@ -1187,9 +1189,26 @@ class TestProgramDataExtender(ModuleStoreTestCase):
applicable_seat_types=[CourseMode.VERIFIED],
)
data = ProgramDataExtender(program, self.user).extend()
self.assertFalse(data['is_learner_eligible_for_one_click_purchase'])
self.assertEqual(data['skus'], [])
def test_old_course_runs(self):
"""
Test that old course runs may exist for a program which do not exist in LMS.
In that case, continue without the course run.
"""
course_run = CourseRunFactory.create()
course = CourseFactory.create(course_runs=[course_run])
program_data = ProgramFactory(courses=[course])
with LogCapture(LOGGER_NAME) as logger:
ProgramDataExtender(program_data, self.user).extend()
logger.check(
(LOGGER_NAME,
'WARNING', u'Failed to get course overview for course run key: {}'.format(course_run.get('key')))
)
def test_entitlement_product_wrong_mode(self):
"""
Learner should not be eligible for one click purchase if the only entitlement product

View File

@@ -500,9 +500,7 @@ class ProgramDataExtender(object):
try:
self.course_overview = CourseOverview.get_from_id(self.course_run_key)
except CourseOverview.DoesNotExist:
log.warning(u'Failed to get course overview for course run key: %s',
self.course_run.get('key'),
exec_info=True)
log.warning(u'Failed to get course overview for course run key: %s', course_run.get('key'))
else:
self.enrollment_start = self.course_overview.enrollment_start or DEFAULT_ENROLLMENT_START_DATE