Commit 71016a47 by Tim Krones

Explain review links to users.

parent 67d75634
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
<div class="sb-review-score"> <div class="sb-review-score">
<div class="grade-result"> <div class="grade-result">
<h2>{% blocktrans %}You scored {{score}}% on this assessment. {% endblocktrans %}</h2> <h2>{% blocktrans %}You scored {{score}}% on this assessment. {% endblocktrans %}</h2>
{% if show_extended_review %}
<p class="review-links-explanation">
{% trans "Click a question to review feedback on your response." %}
</p>
{% endif %}
{% if is_example %} {% if is_example %}
<p><em>{% trans "Note: This is an example score, to show how the review step will look." %}</em></p> <p><em>{% trans "Note: This is an example score, to show how the review step will look." %}</em></p>
{% endif %} {% endif %}
......
from mock import patch from mock import patch
from ddt import ddt, data from ddt import ddt, data
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import WebDriverWait
from workbench.runtime import WorkbenchRuntime from workbench.runtime import WorkbenchRuntime
...@@ -242,27 +243,37 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin ...@@ -242,27 +243,37 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin
self.assertIn("You answered {incorrect} questions incorrectly.".format(**expected), step_builder.text) self.assertIn("You answered {incorrect} questions incorrectly.".format(**expected), step_builder.text)
# Check presence of review links # Check presence of review links
# - If unlimited attempts: no review links # - If unlimited attempts: no review links, no explanation
# - If limited attempts: # - If limited attempts:
# - If not max attempts reached: no review links # - If not max attempts reached: no review links, no explanation
# - If max attempts reached: # - If max attempts reached:
# - If extended feedback: review links available # - If extended feedback: review links, explanation
# - If not extended feedback: review links # - If not extended feedback: no review links, no explanation
review_list = step_builder.find_elements_by_css_selector('.review-list') review_list = step_builder.find_elements_by_css_selector('.review-list')
try:
step_builder.find_element_by_css_selector('.review-links-explanation')
except NoSuchElementException:
review_links_explained = False
else:
review_links_explained = True
if expected["max_attempts"] == 0: if expected["max_attempts"] == 0:
self.assertFalse(review_list) self.assertFalse(review_list)
self.assertFalse(review_links_explained)
else: else:
if expected["num_attempts"] < expected["max_attempts"]: if expected["num_attempts"] < expected["max_attempts"]:
self.assertFalse(review_list) self.assertFalse(review_list)
self.assertFalse(review_links_explained)
elif expected["num_attempts"] == expected["max_attempts"]: elif expected["num_attempts"] == expected["max_attempts"]:
if extended_feedback: if extended_feedback:
for correctness in ['correct', 'incorrect', 'partial']: for correctness in ['correct', 'incorrect', 'partial']:
review_items = step_builder.find_elements_by_css_selector('.%s-list li' % correctness) review_items = step_builder.find_elements_by_css_selector('.%s-list li' % correctness)
self.assertEqual(len(review_items), expected[correctness]) self.assertEqual(len(review_items), expected[correctness])
self.assertTrue(review_links_explained)
else: else:
self.assertFalse(review_list) self.assertFalse(review_list)
self.assertFalse(review_links_explained)
# Check if info about number of attempts used is correct # Check if info about number of attempts used is correct
if expected["max_attempts"] == 1: if expected["max_attempts"] == 1:
......
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