do not create schedules for instructor led courses

parent 2d408543
...@@ -41,8 +41,11 @@ def create_schedule(sender, **kwargs): ...@@ -41,8 +41,11 @@ def create_schedule(sender, **kwargs):
log.debug('Schedules: Creation not enabled for this course or for this site') log.debug('Schedules: Creation not enabled for this course or for this site')
return return
if not enrollment.course_overview.self_paced:
log.debug('Schedules: Creation only enabled for self-paced courses')
return
delta = None delta = None
if enrollment.course_overview.self_paced:
global_config = DynamicUpgradeDeadlineConfiguration.current() global_config = DynamicUpgradeDeadlineConfiguration.current()
if global_config.enabled: if global_config.enabled:
# Use the default from this model whether or not the feature is enabled # Use the default from this model whether or not the feature is enabled
......
...@@ -21,12 +21,14 @@ from ..tests.factories import ScheduleConfigFactory ...@@ -21,12 +21,14 @@ from ..tests.factories import ScheduleConfigFactory
class CreateScheduleTests(SharedModuleStoreTestCase): class CreateScheduleTests(SharedModuleStoreTestCase):
def assert_schedule_created(self): def assert_schedule_created(self):
enrollment = CourseEnrollmentFactory() course = create_course_run(self_paced=True)
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT)
self.assertIsNotNone(enrollment.schedule) self.assertIsNotNone(enrollment.schedule)
self.assertIsNone(enrollment.schedule.upgrade_deadline) self.assertIsNone(enrollment.schedule.upgrade_deadline)
def assert_schedule_not_created(self): def assert_schedule_not_created(self):
enrollment = CourseEnrollmentFactory() course = create_course_run(self_paced=True)
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT)
with self.assertRaises(Schedule.DoesNotExist): with self.assertRaises(Schedule.DoesNotExist):
enrollment.schedule enrollment.schedule
...@@ -68,34 +70,19 @@ class CreateScheduleTests(SharedModuleStoreTestCase): ...@@ -68,34 +70,19 @@ class CreateScheduleTests(SharedModuleStoreTestCase):
site = SiteFactory.create() site = SiteFactory.create()
mock_get_current_site.return_value = site mock_get_current_site.return_value = site
ScheduleConfigFactory.create(site=site, enabled=True, create_schedules=True) ScheduleConfigFactory.create(site=site, enabled=True, create_schedules=True)
course = create_self_paced_course_run() course = create_course_run(self_paced=False)
DynamicUpgradeDeadlineConfiguration.objects.create(enabled=False)
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT) enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT)
with self.assertRaises(Schedule.DoesNotExist):
self.assertEqual(enrollment.schedule.start, enrollment.created) enrollment.schedule
self.assertIsNone(enrollment.schedule.upgrade_deadline)
@override_waffle_flag(SCHEDULE_WAFFLE_FLAG, True)
def test_schedule_config_creation_enabled_instructor_paced_with_deadline(self, mock_get_current_site):
site = SiteFactory.create()
mock_get_current_site.return_value = site
ScheduleConfigFactory.create(site=site, enabled=True, create_schedules=True)
course = create_self_paced_course_run()
global_config = DynamicUpgradeDeadlineConfiguration.objects.create(enabled=True)
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT)
expected_deadline = enrollment.created + datetime.timedelta(days=global_config.deadline_days)
self.assertEqual(enrollment.schedule.start, enrollment.created)
self.assertEqual(enrollment.schedule.upgrade_deadline, expected_deadline)
def create_self_paced_course_run(): def create_course_run(self_paced=True):
""" Create a new course run and course modes. """ Create a new course run and course modes.
Both audit and verified `CourseMode` objects will be created for the course run. Both audit and verified `CourseMode` objects will be created for the course run.
""" """
now = datetime.datetime.now(utc) now = datetime.datetime.now(utc)
course = CourseFactory.create(start=now + datetime.timedelta(days=-1), self_paced=True) course = CourseFactory.create(start=now + datetime.timedelta(days=-1), self_paced=self_paced)
CourseModeFactory( CourseModeFactory(
course_id=course.id, course_id=course.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