This will remove imports from __future__ that are no longer needed. https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
"""
|
|
Test helpers for the course experience.
|
|
"""
|
|
|
|
|
|
from datetime import timedelta
|
|
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
from django.utils.timezone import now
|
|
|
|
from course_modes.models import CourseMode
|
|
|
|
TEST_COURSE_PRICE = 50
|
|
|
|
|
|
def add_course_mode(course, mode_slug=CourseMode.VERIFIED,
|
|
mode_display_name='Verified Certificate', upgrade_deadline_expired=False):
|
|
"""
|
|
Add a course mode to the test course.
|
|
|
|
Args:
|
|
course
|
|
mode_slug (str): the slug of the mode to add
|
|
mode_display_name (str): the display name of the mode to add
|
|
upgrade_deadline_expired (bool): whether the upgrade deadline has passed
|
|
"""
|
|
upgrade_exp_date = now()
|
|
if upgrade_deadline_expired:
|
|
upgrade_exp_date = upgrade_exp_date - timedelta(days=21)
|
|
else:
|
|
upgrade_exp_date = upgrade_exp_date + timedelta(days=21)
|
|
|
|
CourseMode(
|
|
course_id=course.id,
|
|
mode_slug=mode_slug,
|
|
mode_display_name=mode_display_name,
|
|
min_price=TEST_COURSE_PRICE,
|
|
_expiration_datetime=upgrade_exp_date,
|
|
).save()
|
|
|
|
|
|
def remove_course_mode(course, mode_slug):
|
|
"""
|
|
Remove a course mode from the test course if it exists in the course.
|
|
|
|
Args:
|
|
course
|
|
mode_slug (str): slug of the mode to remove
|
|
"""
|
|
try:
|
|
mode = CourseMode.objects.get(course_id=course.id, mode_slug=mode_slug)
|
|
except ObjectDoesNotExist:
|
|
pass
|
|
|
|
mode.delete()
|