Commit 41257862 by chrisndodge

Merge pull request #48 from edx/cdodge/gate-based-on-requirements-state

accept in credit_status to be passed in from the LMS which contains C…
parents 993c8e47 752ef284
......@@ -496,6 +496,19 @@ def get_student_view(user_id, course_id, content_id,
if user_role != 'student':
return None
# see if only 'verified' track students should see this
check_mode = (
settings.PROCTORING_SETTINGS.get('MUST_BE_VERIFIED_TRACK', True) and
'credit_state' in context and
context['credit_state']
)
print context
print '***** check_mode = {}'.format(check_mode)
if check_mode:
if context['credit_state']['enrollment_mode'] != 'verified':
return None
student_view_template = None
exam_id = None
......
......@@ -514,6 +514,26 @@ class ProctoredExamApiTests(LoggedInTestCase):
self.assertIn('data-exam-id="%d"' % self.proctored_exam_id, rendered_response)
self.assertIn(self.start_an_exam_msg % self.exam_name, rendered_response)
def test_get_honot_view(self):
"""
Test for get_student_view promting when the student is enrolled in non-verified
track, this should return None
"""
rendered_response = get_student_view(
user_id=self.user_id,
course_id=self.course_id,
content_id=self.content_id,
context={
'is_proctored': True,
'display_name': self.exam_name,
'default_time_limit_mins': 90,
'credit_state': {
'enrollment_mode': 'honor'
}
}
)
self.assertIsNone(rendered_response)
def test_student_view_non_student(self):
"""
Make sure that if we ask for a student view if we are not in a student role,
......
......@@ -78,3 +78,8 @@ PROCTORING_BACKEND_PROVIDER = {
"class": "edx_proctoring.backends.tests.test_backend.TestBackendProvider",
"options": {}
}
PROCTORING_SETTINGS = {
'MUST_BE_VERIFIED_TRACK': True,
'MUST_COMPLETE_ICRV': True,
}
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