Commit 6446f611 by cahrens

Log courses with improper end dates.

EDUCATOR-1134
parent dc2f808f
......@@ -254,9 +254,8 @@ FEATURES = {
'ENABLE_ENROLLMENT_TRACK_USER_PARTITION': True,
# Whether archived courses (courses with end dates in the past) should be
# shown in Studio in a separate list. Note that attempting to enable this
# failed on stage-- see EDUCATOR-1134.
'ENABLE_SEPARATE_ARCHIVED_COURSES': False
# shown in Studio in a separate list.
'ENABLE_SEPARATE_ARCHIVED_COURSES': True
}
ENABLE_JASMINE = False
......
......@@ -1451,4 +1451,13 @@ class CourseSummary(object):
"""
Returns whether the course has ended.
"""
try:
return course_metadata_utils.has_course_ended(self.end)
except TypeError as e:
log.warning(
"Course '{course_id}' has an improperly formatted end date '{end_date}'. Error: '{err}'.".format(
course_id=unicode(self.id), end_date=self.end, err=e
)
)
modified_end = self.end.replace(tzinfo=utc)
return course_metadata_utils.has_course_ended(modified_end)
......@@ -2,6 +2,7 @@
import ddt
import unittest
from datetime import datetime, timedelta
from dateutil import parser
import itertools
from fs.memoryfs import MemoryFS
......@@ -142,6 +143,16 @@ class HasEndedMayCertifyTestCase(unittest.TestCase):
self.assertFalse(self.future_noshow_certs.may_certify())
class CourseSummaryHasEnded(unittest.TestCase):
""" Test for has_ended method when end date is missing timezone information. """
def test_course_end(self):
test_course = get_dummy_course("2012-01-01T12:00")
bad_end_date = parser.parse("2012-02-21 10:28:45")
summary = xmodule.course_module.CourseSummary(test_course.id, end=bad_end_date)
self.assertTrue(summary.has_ended())
@ddt.ddt
class IsNewCourseTestCase(unittest.TestCase):
"""Make sure the property is_new works on courses"""
......
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