EDUCATOR-1511: credit users added to verified user partition irrespective of upgrade deadline
This commit is contained in:
committed by
Alex Dusenbery
parent
6e846fd938
commit
fd8a9fdb02
@@ -75,15 +75,7 @@ class EnrollmentTrackPartitionScheme(object):
|
||||
If a course is using the Verified Track Cohorting pilot feature, this method
|
||||
returns None regardless of the user's enrollment mode.
|
||||
"""
|
||||
def _log_for_educator_1511(log_statement):
|
||||
# temporary logging for EDUCATOR-1511. Will be rolled back as soon as we have some logs
|
||||
if course_key == CourseKey.from_string('course-v1:ASUx+ENG101x+2177A'):
|
||||
LOGGER.warning('EDUCATOR-1511: get_group_for_user | {0}'.format(log_statement))
|
||||
|
||||
_log_for_educator_1511('Getting group for user id {0}'.format(user.id))
|
||||
|
||||
if is_course_using_cohort_instead(course_key):
|
||||
_log_for_educator_1511('Course is using cohort instead.')
|
||||
return None
|
||||
|
||||
# First, check if we have to deal with masquerading.
|
||||
@@ -101,12 +93,12 @@ class EnrollmentTrackPartitionScheme(object):
|
||||
mode_slug,
|
||||
modes=CourseMode.modes_for_course(course_key, include_expired=True, only_selectable=False),
|
||||
)
|
||||
_log_for_educator_1511('Got enrollment for user {0}: mode slug is {1}'.format(user.id, mode_slug))
|
||||
if course_mode and CourseMode.is_credit_mode(course_mode):
|
||||
_log_for_educator_1511('user {0} is in credit mode, returning verified partition'.format(user.id))
|
||||
course_mode = CourseMode.verified_mode_for_course(course_key)
|
||||
# We want the verified track even if the upgrade deadline has passed, since we
|
||||
# are determining what content to show the user, not whether the user can enroll
|
||||
# in the verified track.
|
||||
course_mode = CourseMode.verified_mode_for_course(course_key, include_expired=True)
|
||||
if not course_mode:
|
||||
_log_for_educator_1511('user {0} in track {1} added to default partition'.format(user.id, mode_slug))
|
||||
course_mode = CourseMode.DEFAULT_MODE
|
||||
return Group(ENROLLMENT_GROUP_IDS[course_mode.slug], unicode(course_mode.name))
|
||||
else:
|
||||
|
||||
@@ -146,6 +146,19 @@ class EnrollmentTrackPartitionSchemeTest(SharedModuleStoreTestCase):
|
||||
create_mode(self.course, CourseMode.VERIFIED, "Verified Enrollment Track", min_price=1)
|
||||
self.assertEqual("Verified Enrollment Track", self._get_user_group().name)
|
||||
|
||||
def test_credit_after_upgrade_deadline(self):
|
||||
create_mode(self.course, CourseMode.CREDIT_MODE, "Credit Enrollment Track", min_price=1)
|
||||
CourseEnrollment.enroll(self.student, self.course.id, mode=CourseMode.CREDIT_MODE)
|
||||
|
||||
# Create a verified mode and check that it is returned for the learner enrolled in Credit.
|
||||
# Make the mode "expired" to ensure that credit users can still see verified-only content after
|
||||
# the upgrade deadline has passed (see EDUCATOR-1511 for why this matters).
|
||||
create_mode(
|
||||
self.course, CourseMode.VERIFIED, "Verified Enrollment Track", min_price=1,
|
||||
expiration_datetime=datetime.now(pytz.UTC) + timedelta(days=-1)
|
||||
)
|
||||
self.assertEqual("Verified Enrollment Track", self._get_user_group().name)
|
||||
|
||||
def test_using_verified_track_cohort(self):
|
||||
VerifiedTrackCohortedCourse.objects.create(course_key=self.course.id, enabled=True).save()
|
||||
CourseEnrollment.enroll(self.student, self.course.id)
|
||||
|
||||
@@ -175,7 +175,7 @@ class TestCourseHomePage(CourseHomePageTestCase):
|
||||
course_home_url(self.course)
|
||||
|
||||
# Fetch the view and verify the query counts
|
||||
with self.assertNumQueries(49, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with self.assertNumQueries(50, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with check_mongo_calls(4):
|
||||
url = course_home_url(self.course)
|
||||
self.client.get(url)
|
||||
|
||||
@@ -126,7 +126,7 @@ class TestCourseUpdatesPage(SharedModuleStoreTestCase):
|
||||
course_updates_url(self.course)
|
||||
|
||||
# Fetch the view and verify that the query counts haven't changed
|
||||
with self.assertNumQueries(30, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with self.assertNumQueries(31, table_blacklist=QUERY_COUNT_TABLE_BLACKLIST):
|
||||
with check_mongo_calls(4):
|
||||
url = course_updates_url(self.course)
|
||||
self.client.get(url)
|
||||
|
||||
Reference in New Issue
Block a user