Fixed beta tester functionality for ora problems.
TNL-1736
This commit is contained in:
@@ -41,6 +41,7 @@ from edxmako.shortcuts import render_to_string
|
||||
from eventtracking import tracker
|
||||
from psychometrics.psychoanalyze import make_psychometrics_data_update_handler
|
||||
from student.models import anonymous_id_for_user, user_by_anonymous_id
|
||||
from student.roles import CourseBetaTesterRole
|
||||
from xblock.core import XBlock
|
||||
from xblock.fields import Scope
|
||||
from xblock.runtime import KvsFieldData, KeyValueStore
|
||||
@@ -642,6 +643,8 @@ def get_module_system_for_user(user, field_data_cache,
|
||||
|
||||
system.set(u'user_is_staff', user_is_staff)
|
||||
system.set(u'user_is_admin', has_access(user, u'staff', 'global'))
|
||||
system.set(u'user_is_beta_tester', CourseBetaTesterRole(course_id).has_user(user))
|
||||
system.set(u'days_early_for_beta', getattr(descriptor, 'days_early_for_beta'))
|
||||
|
||||
# make an ErrorDescriptor -- assuming that the descriptor's system is ok
|
||||
if has_access(user, u'staff', descriptor.location, course_id):
|
||||
|
||||
@@ -997,6 +997,7 @@ class TestAnonymousStudentId(ModuleStoreTestCase, LoginEnrollmentTestCase):
|
||||
_field_data_cache={},
|
||||
_dirty_fields={},
|
||||
fields={},
|
||||
days_early_for_beta=None,
|
||||
)
|
||||
descriptor.runtime = CombinedSystem(descriptor._runtime, None) # pylint: disable=protected-access
|
||||
# Use the xblock_class's bind_for_student method
|
||||
@@ -1308,6 +1309,25 @@ class LMSXBlockServiceBindingTest(ModuleStoreTestCase):
|
||||
service = runtime.service(descriptor, expected_service)
|
||||
self.assertIsNotNone(service)
|
||||
|
||||
def test_beta_tester_fields_added(self):
|
||||
"""
|
||||
Tests that the beta tester fields are set on LMS runtime.
|
||||
"""
|
||||
descriptor = ItemFactory(category="pure", parent=self.course)
|
||||
descriptor.days_early_for_beta = 5
|
||||
runtime, _ = render.get_module_system_for_user(
|
||||
self.user,
|
||||
self.field_data_cache,
|
||||
descriptor,
|
||||
self.course.id,
|
||||
self.track_function,
|
||||
self.xqueue_callback_url_prefix,
|
||||
self.request_token
|
||||
)
|
||||
|
||||
self.assertFalse(getattr(runtime, u'user_is_beta_tester'))
|
||||
self.assertEqual(getattr(runtime, u'days_early_for_beta'), 5)
|
||||
|
||||
|
||||
class PureXBlockWithChildren(PureXBlock):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user