Commit feaf5da2 by Tim Krones

Don't try to replace "jump_to_id" URLs in review tips if there are no

review tips.
parent fa5d5e59
...@@ -510,9 +510,9 @@ class MentoringBlock(BaseMentoringBlock, StudioContainerXBlockMixin, StepParentM ...@@ -510,9 +510,9 @@ class MentoringBlock(BaseMentoringBlock, StudioContainerXBlockMixin, StepParentM
if result and result.get('status') != 'correct': if result and result.get('status') != 'correct':
# The student got this wrong. Check if there is a review tip to show. # The student got this wrong. Check if there is a review tip to show.
tip_html = child.get_review_tip() tip_html = child.get_review_tip()
if hasattr(self.runtime, 'replace_jump_to_id_urls'):
tip_html = self.runtime.replace_jump_to_id_urls(tip_html)
if tip_html: if tip_html:
if hasattr(self.runtime, 'replace_jump_to_id_urls'):
tip_html = self.runtime.replace_jump_to_id_urls(tip_html)
review_tips.append(tip_html) review_tips.append(tip_html)
return review_tips return review_tips
......
...@@ -168,3 +168,19 @@ class TestMentoringBlockJumpToIds(unittest.TestCase): ...@@ -168,3 +168,19 @@ class TestMentoringBlockJumpToIds(unittest.TestCase):
self.block.steps = [self.mcq_block] self.block.steps = [self.mcq_block]
self.block.student_results = {'test_mcq': {'status': 'incorrect'}} self.block.student_results = {'test_mcq': {'status': 'incorrect'}}
self.assertEqual(self.block.review_tips, ['replaced-url']) self.assertEqual(self.block.review_tips, ['replaced-url'])
def test_get_tip_content_no_tips(self):
self.mcq_block = MCQBlock(self.runtime_mock, DictFieldData({'name': 'test_mcq'}), Mock())
self.mcq_block.get_review_tip = Mock()
# If there are no review tips, get_review_tip will return None;
# simulate this situation here:
self.mcq_block.get_review_tip.return_value = None
self.block.step_ids = []
self.block.steps = [self.mcq_block]
self.block.student_results = {'test_mcq': {'status': 'incorrect'}}
try:
review_tips = self.block.review_tips
except TypeError:
self.fail('Trying to replace jump_to_id URLs in non-existent review tips.')
else:
self.assertEqual(review_tips, [])
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