Moved to a try catch block
This commit is contained in:
@@ -3,6 +3,7 @@ Test entitlements utilities
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
from opaque_keys.edx.keys import CourseKey
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
@@ -20,13 +21,13 @@ if settings.ROOT_URLCONF == 'lms.urls':
|
|||||||
|
|
||||||
|
|
||||||
@skip_unless_lms
|
@skip_unless_lms
|
||||||
class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
class TestCourseRunFulfillableForEntitlement(ModuleStoreTestCase):
|
||||||
"""
|
"""
|
||||||
Tests for the utility function is_course_run_entitlement_fulfillable
|
Tests for the utility function is_course_run_entitlement_fulfillable
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestCourseRunFullfillableForEntitlement, self).setUp()
|
super(TestCourseRunFulfillableForEntitlement, self).setUp()
|
||||||
|
|
||||||
self.user = UserFactory(is_staff=True)
|
self.user = UserFactory(is_staff=True)
|
||||||
self.client.login(username=self.user.username, password=TEST_PASSWORD)
|
self.client.login(username=self.user.username, password=TEST_PASSWORD)
|
||||||
@@ -54,7 +55,7 @@ class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
|||||||
)
|
)
|
||||||
return course_overview
|
return course_overview
|
||||||
|
|
||||||
def test_course_run_fullfillble(self):
|
def test_course_run_fulfillable(self):
|
||||||
course_overview = self.create_course(
|
course_overview = self.create_course(
|
||||||
start_from_now=-2,
|
start_from_now=-2,
|
||||||
end_from_now=2,
|
end_from_now=2,
|
||||||
@@ -66,7 +67,15 @@ class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
|||||||
|
|
||||||
assert is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
assert is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
||||||
|
|
||||||
def test_course_run_not_fullfillable_run_ended(self):
|
def test_course_run_missing_overview_not_fulfillable(self):
|
||||||
|
entitlement = CourseEntitlementFactory.create(mode=CourseMode.VERIFIED)
|
||||||
|
|
||||||
|
assert not is_course_run_entitlement_fulfillable(
|
||||||
|
CourseKey.from_string('course-v1:edx+FakeCourse+3T2017'),
|
||||||
|
entitlement
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_course_run_not_fulfillable_run_ended(self):
|
||||||
course_overview = self.create_course(
|
course_overview = self.create_course(
|
||||||
start_from_now=-3,
|
start_from_now=-3,
|
||||||
end_from_now=-1,
|
end_from_now=-1,
|
||||||
@@ -78,7 +87,7 @@ class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
|||||||
|
|
||||||
assert not is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
assert not is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
||||||
|
|
||||||
def test_course_run_not_fullfillable_enroll_period_ended(self):
|
def test_course_run_not_fulfillable_enroll_period_ended(self):
|
||||||
course_overview = self.create_course(
|
course_overview = self.create_course(
|
||||||
start_from_now=-3,
|
start_from_now=-3,
|
||||||
end_from_now=2,
|
end_from_now=2,
|
||||||
@@ -90,7 +99,7 @@ class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
|||||||
|
|
||||||
assert not is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
assert not is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
||||||
|
|
||||||
def test_course_run_fullfillable_user_enrolled(self):
|
def test_course_run_fulfillable_user_enrolled(self):
|
||||||
course_overview = self.create_course(
|
course_overview = self.create_course(
|
||||||
start_from_now=-3,
|
start_from_now=-3,
|
||||||
end_from_now=2,
|
end_from_now=2,
|
||||||
@@ -104,7 +113,7 @@ class TestCourseRunFullfillableForEntitlement(ModuleStoreTestCase):
|
|||||||
|
|
||||||
assert is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
assert is_course_run_entitlement_fulfillable(course_overview.id, entitlement)
|
||||||
|
|
||||||
def test_course_run_not_fullfillable_upgrade_ended(self):
|
def test_course_run_not_fulfillable_upgrade_ended(self):
|
||||||
course_overview = self.create_course(
|
course_overview = self.create_course(
|
||||||
start_from_now=-3,
|
start_from_now=-3,
|
||||||
end_from_now=2,
|
end_from_now=2,
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
"""
|
||||||
|
Utility methods for the entitlement application.
|
||||||
|
"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
@@ -24,9 +28,9 @@ def is_course_run_entitlement_fulfillable(course_run_key, entitlement, compare_d
|
|||||||
Returns:
|
Returns:
|
||||||
bool: True if the Course Run is fullfillable for the CourseEntitlement.
|
bool: True if the Course Run is fullfillable for the CourseEntitlement.
|
||||||
"""
|
"""
|
||||||
course_overview = CourseOverview.get_from_id(course_run_key)
|
try:
|
||||||
|
course_overview = CourseOverview.get_from_id(course_run_key)
|
||||||
if not course_overview:
|
except CourseOverview.DoesNotExist:
|
||||||
log.error(('There is no CourseOverview entry available for {course_run_id}, '
|
log.error(('There is no CourseOverview entry available for {course_run_id}, '
|
||||||
'course run cannot be applied to entitlement').format(
|
'course run cannot be applied to entitlement').format(
|
||||||
course_run_id=str(course_run_key)
|
course_run_id=str(course_run_key)
|
||||||
|
|||||||
Reference in New Issue
Block a user