Merge pull request #16397 from edx/cliff/fix-broken-polls

Fix polls 404 on disabled completion.
This commit is contained in:
Cliff Dyer
2017-11-03 13:00:41 -04:00
committed by GitHub
2 changed files with 8 additions and 3 deletions

View File

@@ -481,10 +481,13 @@ def get_module_system_for_user(
Returns None if no special processing is required.
"""
handlers = {
'completion': handle_completion_event,
'grade': handle_grade_event,
'progress': handle_deprecated_progress_event,
}
if completion_waffle.waffle().is_enabled(completion_waffle.ENABLE_COMPLETION_TRACKING):
handlers.update({
'completion': handle_completion_event,
'progress': handle_deprecated_progress_event,
})
return handlers.get(event_type)
def publish(block, event_type, event):

View File

@@ -624,7 +624,7 @@ class TestHandleXBlockCallback(SharedModuleStoreTestCase, LoginEnrollmentTestCas
content_type='application/json',
)
request.user = self.mock_user
with self.assertRaises(Http404):
with patch('lms.djangoapps.completion.models.BlockCompletionManager.submit_completion') as mock_complete:
render.handle_xblock_callback(
request,
unicode(course.id),
@@ -632,6 +632,8 @@ class TestHandleXBlockCallback(SharedModuleStoreTestCase, LoginEnrollmentTestCas
signal,
'',
)
mock_complete.assert_not_called()
self.assertFalse(BlockCompletion.objects.filter(block_key=block.scope_ids.usage_id).exists())
@ddt.data(
('complete', {'completion': 0.625}, 0.625),