mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
MDL-39980 question engine: Attempt on last loses response files
When doing Each attempt builds on last, we need to copy any response files into a draft file area, and then re-save them. While writing the unit test for this, I had to deal with a todo in the question engine so that questions with files in the response could be unit-tested. I also found an fixed a bug with qtype_essay_question::is_same_response and fixed some notices in the existing essay/manual graded unit tests.
This commit is contained in:
parent
838d78a9ff
commit
afb1b3d03b
8 changed files with 221 additions and 18 deletions
|
@ -38,7 +38,7 @@ require_once(dirname(__FILE__) . '/../../../engine/tests/helpers.php');
|
|||
* @copyright 2009 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class qbehaviour_manualgraded_walkthrough_test extends qbehaviour_walkthrough_test_base {
|
||||
class qbehaviour_manualgraded_walkthrough_testcase extends qbehaviour_walkthrough_test_base {
|
||||
public function test_manual_graded_essay() {
|
||||
|
||||
// Create an essay question.
|
||||
|
@ -56,7 +56,7 @@ class qbehaviour_manualgraded_walkthrough_test extends qbehaviour_walkthrough_te
|
|||
$this->get_does_not_contain_feedback_expectation());
|
||||
|
||||
// Simulate some data submitted by the student.
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_PLAIN));
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_HTML));
|
||||
|
||||
// Verify.
|
||||
$this->check_current_state(question_state::$complete);
|
||||
|
@ -68,16 +68,16 @@ class qbehaviour_manualgraded_walkthrough_test extends qbehaviour_walkthrough_te
|
|||
|
||||
// Process the same data again, check it does not create a new step.
|
||||
$numsteps = $this->get_step_count();
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_PLAIN));
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_HTML));
|
||||
$this->check_step_count($numsteps);
|
||||
|
||||
// Process different data, check it creates a new step.
|
||||
$this->process_submission(array('answer' => ''));
|
||||
$this->process_submission(array('answer' => '', 'answerformat' => FORMAT_HTML));
|
||||
$this->check_step_count($numsteps + 1);
|
||||
$this->check_current_state(question_state::$todo);
|
||||
|
||||
// Change back, check it creates a new step.
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_PLAIN));
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_HTML));
|
||||
$this->check_step_count($numsteps + 2);
|
||||
|
||||
// Finish the attempt.
|
||||
|
@ -206,7 +206,7 @@ class qbehaviour_manualgraded_walkthrough_test extends qbehaviour_walkthrough_te
|
|||
$this->check_current_mark(null);
|
||||
|
||||
// Simulate some data submitted by the student.
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_PLAIN));
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_HTML));
|
||||
|
||||
// Verify.
|
||||
$this->check_current_state(question_state::$complete);
|
||||
|
@ -283,7 +283,7 @@ class qbehaviour_manualgraded_walkthrough_test extends qbehaviour_walkthrough_te
|
|||
$this->get_does_not_contain_feedback_expectation());
|
||||
|
||||
// Simulate some data submitted by the student.
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_PLAIN));
|
||||
$this->process_submission(array('answer' => 'This is my wonderful essay!', 'answerformat' => FORMAT_HTML));
|
||||
|
||||
// Verify.
|
||||
$this->check_current_state(question_state::$complete);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue