Commit e77b0262 by Dmitry Viskov Committed by Bill Filler

WYSISYG editor for prompts (in studio) - new python tests

parent 9c781483
......@@ -58,7 +58,6 @@
"explanation": "Yes explanation"
}
],
"editor_assessments_order": ["student-training", "peer-assessment", "self-assessment", "staff-assessment"],
"feedback": "optional"
}
],
......@@ -77,6 +76,7 @@
"due": null
}
],
"editor_assessments_order": ["student-training", "peer-assessment", "self-assessment", "staff-assessment"],
"submission_due": "2014-02-27T09:46",
"submission_start": "2014-02-10T09:46"
},
......@@ -1629,5 +1629,60 @@
"submission_due": "2012-02-27T09:46",
"submission_start": "2012-02-10T09:46",
"expected_error": "error: in case if file upload response is disabled text response must be required"
},
"invalid_prompt_type": {
"prompts": [{"description": "My new prompt 1."}, {"description": "My new prompt 2."}],
"prompts_type": "not_text_or_html",
"feedback_prompt": "Feedback prompt",
"feedback_default_text": "Feedback default text",
"text_response": "required",
"file_upload_response": null,
"file_upload_type": null,
"allow_latex": false,
"leaderboard_show": 0,
"criteria": [
{
"order_num": 0,
"name": "0",
"label": "Test criterion",
"prompt": "Test criterion prompt",
"options": [
{
"order_num": 0,
"points": 0,
"name": "0",
"label": "No",
"explanation": "No explanation"
},
{
"order_num": 1,
"points": 2,
"name": "1",
"label": "Yes",
"explanation": "Yes explanation"
}
],
"feedback": "optional"
}
],
"editor_assessments_order": ["student-training", "peer-assessment", "self-assessment", "staff-assessment"],
"title": "My new title.",
"assessments": [
{
"name": "peer-assessment",
"must_grade": 5,
"must_be_graded_by": 3,
"start": null,
"due": null
},
{
"name": "self-assessment",
"start": null,
"due": null
}
],
"submission_due": "2014-02-27T09:46",
"submission_start": "2014-02-10T09:46"
}
}
<openassessment prompts_type="html">
<title>Open Assessment Test</title>
<rubric>
<prompt><![CDATA[<code><strong>Question 123</strong></code>]]></prompt>
<criterion>
<name>Concise</name>
<prompt>How concise is it?</prompt>
<option points="0">
<name>Neal Stephenson (late)</name>
<explanation>Neal Stephenson explanation</explanation>
</option>
<option points="1">
<name>HP Lovecraft</name>
<explanation>HP Lovecraft explanation</explanation>
</option>
<option points="3">
<name>Robert Heinlein</name>
<explanation>Robert Heinlein explanation</explanation>
</option>
<option points="4">
<name>Neal Stephenson (early)</name>
<explanation>Neal Stephenson (early) explanation</explanation>
</option>
<option points="5">
<name>Earnest Hemingway</name>
<explanation>Earnest Hemingway</explanation>
</option>
</criterion>
<criterion>
<name>Clear-headed</name>
<prompt>How clear is the thinking?</prompt>
<option points="0">
<name>Yogi Berra</name>
<explanation>Yogi Berra explanation</explanation>
</option>
<option points="1">
<name>Hunter S. Thompson</name>
<explanation>Hunter S. Thompson explanation</explanation>
</option>
<option points="2">
<name>Robert Heinlein</name>
<explanation>Robert Heinlein explanation</explanation>
</option>
<option points="3">
<name>Isaac Asimov</name>
<explanation>Isaac Asimov explanation</explanation>
</option>
<option points="10">
<name>Spock</name>
<explanation>Spock explanation</explanation>
</option>
</criterion>
<criterion>
<name>Form</name>
<prompt>Lastly, how is its form? Punctuation, grammar, and spelling all count.</prompt>
<option points="0">
<name>lolcats</name>
<explanation>lolcats explanation</explanation>
</option>
<option points="1">
<name>Facebook</name>
<explanation>Facebook explanation</explanation>
</option>
<option points="2">
<name>Reddit</name>
<explanation>Reddit explanation</explanation>
</option>
<option points="3">
<name>metafilter</name>
<explanation>metafilter explanation</explanation>
</option>
<option points="4">
<name>Usenet, 1996</name>
<explanation>Usenet, 1996 explanation</explanation>
</option>
<option points="5">
<name>The Elements of Style</name>
<explanation>The Elements of Style explanation</explanation>
</option>
</criterion>
</rubric>
<assessments>
<assessment name="peer-assessment" must_grade="5" must_be_graded_by="3" />
<assessment name="self-assessment" />
</assessments>
</openassessment>
......@@ -124,10 +124,17 @@ class SubmissionTest(XBlockHandlerTestCase):
@scenario('data/line_breaks.xml')
def test_prompt_line_breaks(self, xblock):
# Verify that prompts with multiple lines retain line breaks
# (backward compatibility in case if prompt_type == 'text')
resp = self.request(xblock, 'render_submission', json.dumps(dict()))
expected_prompt = u"<p><br />Line 1</p><p>Line 2</p><p>Line 3<br /></p>"
self.assertIn(expected_prompt, resp)
@scenario('data/prompt_html.xml')
def test_prompt_html(self, xblock):
resp = self.request(xblock, 'render_submission', json.dumps(dict()))
expected_prompt = u"<code><strong>Question 123</strong></code>"
self.assertIn(expected_prompt, resp)
@mock_s3
@override_settings(
AWS_ACCESS_KEY_ID='foobar',
......
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