Add the ability to set expiration dates on course modes.
This commit is contained in:
@@ -5,6 +5,9 @@ when you run "manage.py test".
|
||||
Replace this with more appropriate tests for your application.
|
||||
"""
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
import pytz
|
||||
|
||||
from django.test import TestCase
|
||||
from course_modes.models import CourseMode, Mode
|
||||
|
||||
@@ -22,7 +25,7 @@ class CourseModeModelTest(TestCase):
|
||||
"""
|
||||
Create a new course mode
|
||||
"""
|
||||
CourseMode.objects.get_or_create(
|
||||
return CourseMode.objects.get_or_create(
|
||||
course_id=self.course_id,
|
||||
mode_display_name=mode_name,
|
||||
mode_slug=mode_slug,
|
||||
@@ -46,7 +49,13 @@ class CourseModeModelTest(TestCase):
|
||||
|
||||
self.create_mode('verified', 'Verified Certificate')
|
||||
modes = CourseMode.modes_for_course(self.course_id)
|
||||
self.assertEqual([Mode(u'verified', u'Verified Certificate', 0, '', 'usd')], modes)
|
||||
mode = Mode(u'verified', u'Verified Certificate', 0, '', 'usd')
|
||||
self.assertEqual([mode], modes)
|
||||
|
||||
modes_dict = CourseMode.modes_for_course_dict(self.course_id)
|
||||
self.assertEqual(modes_dict['verified'], mode)
|
||||
self.assertEqual(CourseMode.mode_for_course(self.course_id, 'verified'),
|
||||
mode)
|
||||
|
||||
def test_modes_for_course_multiple(self):
|
||||
"""
|
||||
@@ -63,3 +72,15 @@ class CourseModeModelTest(TestCase):
|
||||
self.assertEqual(mode1, CourseMode.mode_for_course(self.course_id, u'honor'))
|
||||
self.assertEqual(mode2, CourseMode.mode_for_course(self.course_id, u'verified'))
|
||||
self.assertIsNone(CourseMode.mode_for_course(self.course_id, 'DNE'))
|
||||
|
||||
def test_modes_for_course_expired(self):
|
||||
expired_mode, _status = self.create_mode('verified', 'Verified Certificate')
|
||||
expired_mode.expiration_date = datetime.now(pytz.UTC) + timedelta(days=-1)
|
||||
expired_mode.save()
|
||||
modes = CourseMode.modes_for_course(self.course_id)
|
||||
self.assertEqual([CourseMode.DEFAULT_MODE], modes)
|
||||
|
||||
mode1 = Mode(u'honor', u'Honor Code Certificate', 0, '', 'usd')
|
||||
self.create_mode(mode1.slug, mode1.name, mode1.min_price, mode1.suggested_prices)
|
||||
modes = CourseMode.modes_for_course(self.course_id)
|
||||
self.assertEqual([mode1], modes)
|
||||
|
||||
Reference in New Issue
Block a user