Merge branch 'MDL-74130' of https://github.com/timhunt/moodle
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
<?php
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Moodle is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php.
|
||||
|
||||
require_once(__DIR__ . '/behat_question_base.php');
|
||||
|
||||
use Behat\Gherkin\Node\TableNode as TableNode;
|
||||
use Behat\Mink\Exception\ExpectationException as ExpectationException;
|
||||
use Behat\Mink\Exception\ElementNotFoundException as ElementNotFoundException;
|
||||
|
||||
/**
|
||||
* Steps definitions related with the question bank management.
|
||||
*
|
||||
* @package core_question
|
||||
* @category test
|
||||
* @copyright 2013 David Monllaó
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class behat_core_question extends behat_question_base {
|
||||
|
||||
/**
|
||||
* Convert page names to URLs for steps like 'When I am on the "[page name]" page'.
|
||||
*
|
||||
* Recognised page names are:
|
||||
* | None so far! | |
|
||||
*
|
||||
* @param string $page name of the page, with the component name removed e.g. 'Admin notification'.
|
||||
* @return moodle_url the corresponding URL.
|
||||
* @throws Exception with a meaningful error message if the specified page cannot be found.
|
||||
*/
|
||||
protected function resolve_page_url(string $page): moodle_url {
|
||||
switch (strtolower($page)) {
|
||||
default:
|
||||
throw new Exception('Unrecognised core_question page type "' . $page . '."');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert page names to URLs for steps like 'When I am on the "[identifier]" "[page type]" page'.
|
||||
*
|
||||
* Recognised page names are:
|
||||
* | pagetype | name meaning | description |
|
||||
* | course question bank | Course name | The question bank for a course |
|
||||
* | course question import | Course name | The import questions screen for a course |
|
||||
* | course question export | Course name | The export questions screen for a course |
|
||||
* | preview | Question name | The screen to preview a question |
|
||||
* | edit | Question name | The screen to edit a question |
|
||||
*
|
||||
* @param string $type identifies which type of page this is, e.g. 'Preview'.
|
||||
* @param string $identifier identifies the particular page, e.g. 'My question'.
|
||||
* @return moodle_url the corresponding URL.
|
||||
* @throws Exception with a meaningful error message if the specified page cannot be found.
|
||||
*/
|
||||
protected function resolve_page_instance_url(string $type, string $identifier): moodle_url {
|
||||
switch (strtolower($type)) {
|
||||
case 'course question bank':
|
||||
return new moodle_url('/question/edit.php',
|
||||
['courseid' => $this->get_course_id($identifier)]);
|
||||
|
||||
case 'course question import':
|
||||
return new moodle_url('/question/bank/importquestions/import.php',
|
||||
['courseid' => $this->get_course_id($identifier)]);
|
||||
|
||||
case 'course question export':
|
||||
return new moodle_url('/question/bank/exportquestions/export.php',
|
||||
['courseid' => $this->get_course_id($identifier)]);
|
||||
|
||||
case 'preview':
|
||||
[$questionid, $otheridtype, $otherid] = $this->find_question_by_name($identifier);
|
||||
return new moodle_url('/question/bank/previewquestion/preview.php',
|
||||
['id' => $questionid, $otheridtype => $otherid]);
|
||||
|
||||
case 'edit':
|
||||
[$questionid, $otheridtype, $otherid] = $this->find_question_by_name($identifier);
|
||||
return new moodle_url('/question/bank/editquestion/question.php',
|
||||
['id' => $questionid, $otheridtype => $otherid]);
|
||||
|
||||
default:
|
||||
throw new Exception('Unrecognised core_question page type "' . $type . '."');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find a question, and where it is, from the question name.
|
||||
*
|
||||
* This is a helper used by resolve_page_instance_url.
|
||||
*
|
||||
* @param string $questionname
|
||||
* @return array with three elemnets, int question id, a string 'cmid' or 'courseid',
|
||||
* and int either cmid or courseid as applicable.
|
||||
*/
|
||||
protected function find_question_by_name(string $questionname): array {
|
||||
global $DB;
|
||||
$questionid = $DB->get_field('question', 'id', ['name' => $questionname], MUST_EXIST);
|
||||
$question = question_bank::load_question_data($questionid);
|
||||
$context = context_helper::instance_by_id($question->contextid);
|
||||
|
||||
if ($context->contextlevel == CONTEXT_MODULE) {
|
||||
return [$questionid, 'cmid', $context->instanceid];
|
||||
} else if ($context->contextlevel == CONTEXT_COURSE) {
|
||||
return [$questionid, 'courseid', $context->instanceid];
|
||||
} else {
|
||||
throw new coding_exception('Unsupported context level ' . $context->contextlevel);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a question in the current course questions bank with the provided data.
|
||||
* This step can only be used when creating question types composed by a single form.
|
||||
*
|
||||
* @Given /^I add a "(?P<question_type_name_string>(?:[^"]|\\")*)" question filling the form with:$/
|
||||
* @param string $questiontypename The question type name
|
||||
* @param TableNode $questiondata The data to fill the question type form.
|
||||
*/
|
||||
public function i_add_a_question_filling_the_form_with($questiontypename, TableNode $questiondata) {
|
||||
// Click on create question.
|
||||
$this->execute('behat_forms::press_button', get_string('createnewquestion', 'question'));
|
||||
|
||||
// Add question.
|
||||
$this->finish_adding_question($questiontypename, $questiondata);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the state of the specified question.
|
||||
*
|
||||
* @Then /^the state of "(?P<question_description_string>(?:[^"]|\\")*)" question is shown as "(?P<state_string>(?:[^"]|\\")*)"$/
|
||||
* @throws ExpectationException
|
||||
* @throws ElementNotFoundException
|
||||
* @param string $questiondescription
|
||||
* @param string $state
|
||||
*/
|
||||
public function the_state_of_question_is_shown_as($questiondescription, $state) {
|
||||
|
||||
// Using xpath literal to avoid quotes problems.
|
||||
$questiondescriptionliteral = behat_context_helper::escape($questiondescription);
|
||||
$stateliteral = behat_context_helper::escape($state);
|
||||
|
||||
// Split in two checkings to give more feedback in case of exception.
|
||||
$exception = new ElementNotFoundException($this->getSession(), 'Question "' . $questiondescription . '" ');
|
||||
$questionxpath = "//div[contains(concat(' ', normalize-space(@class), ' '), ' que ')]" .
|
||||
"[contains(div[@class='content']/div[contains(concat(' ', normalize-space(@class), ' '), ' formulation ')]," .
|
||||
"{$questiondescriptionliteral})]";
|
||||
$this->find('xpath', $questionxpath, $exception);
|
||||
|
||||
$exception = new ExpectationException('Question "' . $questiondescription .
|
||||
'" state is not "' . $state . '"', $this->getSession());
|
||||
$xpath = $questionxpath . "/div[@class='info']/div[@class='state' and contains(., {$stateliteral})]";
|
||||
$this->find('xpath', $xpath, $exception);
|
||||
}
|
||||
|
||||
/**
|
||||
* Activates a particular action on a particular question in the question bank UI.
|
||||
*
|
||||
* @When I choose :action action for :questionname in the question bank
|
||||
* @param string $action the label for the action you want to activate.
|
||||
* @param string $questionname the question name.
|
||||
*/
|
||||
public function i_action_the_question($action, $questionname) {
|
||||
// Open the menu.
|
||||
$this->execute("behat_general::i_click_on_in_the",
|
||||
[get_string('edit'), 'link', $questionname, 'table_row']);
|
||||
|
||||
// Click the action from the menu.
|
||||
$this->execute("behat_general::i_click_on_in_the",
|
||||
[$action, 'link', $questionname, 'table_row']);
|
||||
}
|
||||
|
||||
/**
|
||||
* A particular bulk action is visible in the question bank UI.
|
||||
*
|
||||
* @When I should see question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_should_see_question_bulk_action($action) {
|
||||
// Check if its visible.
|
||||
$this->execute("behat_general::should_be_visible",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* A particular bulk action should not be visible in the question bank UI.
|
||||
*
|
||||
* @When I should not see question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_should_not_see_question_bulk_action($action) {
|
||||
// Check if its visible.
|
||||
$this->execute("behat_general::should_not_be_visible",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* A click on a particular bulk action in the question bank UI.
|
||||
*
|
||||
* @When I click on question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_click_on_question_bulk_action($action) {
|
||||
// Click the bulk action.
|
||||
$this->execute("behat_general::i_click_on",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
}
|
||||
}
|
||||
@@ -14,125 +14,26 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Behat question-related steps definitions.
|
||||
*
|
||||
* @package core_question
|
||||
* @category test
|
||||
* @copyright 2013 David Monllaó
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php.
|
||||
|
||||
require_once(__DIR__ . '/../../../lib/behat/behat_deprecated_base.php');
|
||||
require_once(__DIR__ . '/behat_question_base.php');
|
||||
|
||||
use Behat\Gherkin\Node\TableNode as TableNode,
|
||||
Behat\Mink\Exception\ExpectationException as ExpectationException,
|
||||
Behat\Mink\Exception\ElementNotFoundException as ElementNotFoundException;
|
||||
|
||||
/**
|
||||
* Steps definitions related with the question bank management.
|
||||
* Deprecated class, only kept for backwards compatibility.
|
||||
*
|
||||
* @package core_question
|
||||
* @category test
|
||||
* @copyright 2013 David Monllaó
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @package core_question
|
||||
* @category test
|
||||
* @copyright 2022 The Open University
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
* @deprecated since Moodle 4.0. Use behat_core_question instead
|
||||
* (if you need to refer to this class at all, which you probably don't).
|
||||
*/
|
||||
class behat_question extends behat_question_base {
|
||||
|
||||
/**
|
||||
* Creates a question in the current course questions bank with the provided data. This step can only be used when creating question types composed by a single form.
|
||||
*
|
||||
* @Given /^I add a "(?P<question_type_name_string>(?:[^"]|\\")*)" question filling the form with:$/
|
||||
* @param string $questiontypename The question type name
|
||||
* @param TableNode $questiondata The data to fill the question type form.
|
||||
*/
|
||||
public function i_add_a_question_filling_the_form_with($questiontypename, TableNode $questiondata) {
|
||||
// Click on create question.
|
||||
$this->execute('behat_forms::press_button', get_string('createnewquestion', 'question'));
|
||||
|
||||
// Add question.
|
||||
$this->finish_adding_question($questiontypename, $questiondata);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the state of the specified question.
|
||||
*
|
||||
* @Then /^the state of "(?P<question_description_string>(?:[^"]|\\")*)" question is shown as "(?P<state_string>(?:[^"]|\\")*)"$/
|
||||
* @throws ExpectationException
|
||||
* @throws ElementNotFoundException
|
||||
* @param string $questiondescription
|
||||
* @param string $state
|
||||
*/
|
||||
public function the_state_of_question_is_shown_as($questiondescription, $state) {
|
||||
|
||||
// Using xpath literal to avoid quotes problems.
|
||||
$questiondescriptionliteral = behat_context_helper::escape($questiondescription);
|
||||
$stateliteral = behat_context_helper::escape($state);
|
||||
|
||||
// Split in two checkings to give more feedback in case of exception.
|
||||
$exception = new ElementNotFoundException($this->getSession(), 'Question "' . $questiondescription . '" ');
|
||||
$questionxpath = "//div[contains(concat(' ', normalize-space(@class), ' '), ' que ')]" .
|
||||
"[contains(div[@class='content']/div[contains(concat(' ', normalize-space(@class), ' '), ' formulation ')]," .
|
||||
"{$questiondescriptionliteral})]";
|
||||
$this->find('xpath', $questionxpath, $exception);
|
||||
|
||||
$exception = new ExpectationException('Question "' . $questiondescription . '" state is not "' . $state . '"', $this->getSession());
|
||||
$xpath = $questionxpath . "/div[@class='info']/div[@class='state' and contains(., {$stateliteral})]";
|
||||
$this->find('xpath', $xpath, $exception);
|
||||
}
|
||||
|
||||
/**
|
||||
* Activates a particular action on a particular question in the question bank UI.
|
||||
*
|
||||
* @When I choose :action action for :questionname in the question bank
|
||||
* @param string $action the label for the action you want to activate.
|
||||
* @param string $questionname the question name.
|
||||
*/
|
||||
public function i_action_the_question($action, $questionname) {
|
||||
// Open the menu.
|
||||
$this->execute("behat_general::i_click_on_in_the",
|
||||
[get_string('edit'), 'link', $questionname, 'table_row']);
|
||||
|
||||
// Click the action from the menu.
|
||||
$this->execute("behat_general::i_click_on_in_the",
|
||||
[$action, 'link', $questionname, 'table_row']);
|
||||
}
|
||||
|
||||
/**
|
||||
* A particular bulk action is visible in the question bank UI.
|
||||
*
|
||||
* @When I should see question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_should_see_question_bulk_action($action) {
|
||||
// Check if its visible.
|
||||
$this->execute("behat_general::should_be_visible",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* A particular bulk action should not be visible in the question bank UI.
|
||||
*
|
||||
* @When I should not see question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_should_not_see_question_bulk_action($action) {
|
||||
// Check if its visible.
|
||||
$this->execute("behat_general::should_not_be_visible",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* A click on a particular bulk action in the question bank UI.
|
||||
*
|
||||
* @When I click on question bulk action :action
|
||||
* @param string $action the value of the input for the action.
|
||||
*/
|
||||
public function i_click_on_question_bulk_action($action) {
|
||||
// Click the bulk action.
|
||||
$this->execute("behat_general::i_click_on",
|
||||
["#bulkactionsui-container input[name='$action']", "css_element"]);
|
||||
class behat_question extends behat_deprecated_base {
|
||||
public function __call($name, $arguments) {
|
||||
if (method_exists(behat_core_question::class, $name)) {
|
||||
$this->deprecated_message('The behat_question class has been moved to behat_core_question.');
|
||||
$this->execute("behat_core_question::{$name}", $arguments);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a drag and drop onto image question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: Create a drag and drop onto image question
|
||||
When I press "Create a new question ..."
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Drag and drop onto image" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
And I set the field "Question name" to "Drag and drop onto image 001"
|
||||
@@ -96,8 +94,8 @@ Feature: Test creating a drag and drop onto image question
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Drag and drop onto image 001"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_ddimageortext" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_shuffleanswers | 1 |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a drag and drop onto image question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| Drag onto image | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a drag and drop onto image question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "Drag onto image" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | Drag onto image |
|
||||
|
||||
@@ -6,44 +6,41 @@ Feature: Test editing a drag and drop onto image questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddimageortext | Drag onto image | xsection |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript
|
||||
Scenario: Edit a drag and drop onto image question
|
||||
And I choose "Edit question" action for "Drag onto image" in the question bank
|
||||
When I am on the "Drag onto image" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited question name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited question name"
|
||||
|
||||
Scenario: Edit a drag and drop onto image question and verify penalty works as expected
|
||||
When I choose "Edit question" action for "Drag onto image" in the question bank
|
||||
When I am on the "Drag onto image" "core_question > edit" page logged in as teacher
|
||||
Then the following fields match these values:
|
||||
| Question name | Drag onto image |
|
||||
| Penalty for each incorrect try | 33.33333% |
|
||||
| Penalty for each incorrect try | 0.3333333 |
|
||||
|
||||
Scenario: Edit a drag and drop onto image question and verify penalty works as expected with custom decimal separator
|
||||
When the following "language customisations" exist:
|
||||
Given the following "language customisations" exist:
|
||||
| component | stringid | value |
|
||||
| core_langconfig | decsep | # |
|
||||
And I choose "Edit question" action for "Drag onto image" in the question bank
|
||||
When I am on the "Drag onto image" "core_question > edit" page logged in as teacher
|
||||
Then the following fields match these values:
|
||||
| Question name | Drag onto image |
|
||||
| Penalty for each incorrect try | 33#33333% |
|
||||
|
||||
@@ -6,31 +6,27 @@ Feature: Test exporting drag and drop onto image questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddimageortext | Drag onto image | xsection |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Export a drag and drop onto image question
|
||||
# Import sample file.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
And following "click here" should download between "18600" and "19150" bytes
|
||||
Then following "click here" should download between "18600" and "19150" bytes
|
||||
# If the download step is the last in the scenario then we can sometimes run
|
||||
# into the situation where the download page causes a http redirect but behat
|
||||
# has already conducted its reset (generating an error). By putting a logout
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing drag and drop onto image questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import drag and drop onto image question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/ddimageortext/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,30 +6,24 @@ Feature: Preview a drag-drop onto image question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddimageortext | Drag onto image | xsection |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_bug_phantomjs
|
||||
Scenario: Preview a question using the mouse.
|
||||
When I choose "Preview" action for "Drag onto image" in the question bank
|
||||
# Increase window size and wait 2 seconds to ensure elements are placed properly by js.
|
||||
# Keep window large else drag will scroll the window to find element.
|
||||
And I change window size to "medium"
|
||||
When I am on the "Drag onto image" "core_question > preview" page logged in as teacher
|
||||
And I wait "2" seconds
|
||||
# Odd, but the <br>s go to nothing, not a space.
|
||||
And I drag "mountainbelt" to place "1" in the drag and drop onto image question
|
||||
@@ -43,11 +37,10 @@ Feature: Preview a drag-drop onto image question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "Identify the features" question is shown as "Correct"
|
||||
And I should see "Mark 1.00 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question using the keyboard.
|
||||
When I choose "Preview" action for "Drag onto image" in the question bank
|
||||
When I am on the "Drag onto image" "core_question > preview" page logged in as teacher
|
||||
# Increase window size and wait 2 seconds to ensure elements are placed properly by js.
|
||||
And I type " " on place "1" in the drag and drop onto image question
|
||||
And I type " " on place "2" in the drag and drop onto image question
|
||||
@@ -60,4 +53,3 @@ Feature: Preview a drag-drop onto image question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "Identify the features" question is shown as "Correct"
|
||||
And I should see "Mark 1.00 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a drag and drop markers question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: Create a drag and drop markers question
|
||||
When I press "Create a new question ..."
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Drag and drop markers" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
And I set the field "Question name" to "Drag and drop markers"
|
||||
@@ -59,9 +57,9 @@ Feature: Test creating a drag and drop markers question
|
||||
And I press "id_submitbutton"
|
||||
And I should see "Drag and drop markers"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_ddmarker" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_showmisplaced | 1 |
|
||||
| id_shuffleanswers | 1 |
|
||||
|
||||
@@ -27,7 +27,8 @@ Feature: Test duplicating a quiz containing a drag and drop markers question
|
||||
When I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
And I choose "Edit question" action for "Drag markers" in the question bank
|
||||
Then the following fields match these values:
|
||||
|
||||
@@ -6,27 +6,24 @@ Feature: Test editing a drag and drop markers questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddmarker | Drag markers | mkmap |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript
|
||||
Scenario: Edit a drag and drop markers question
|
||||
When I choose "Edit question" action for "Drag markers" in the question bank
|
||||
When I am on the "Drag markers" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited question name |
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,31 +6,27 @@ Feature: Test exporting drag and drop markers questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddmarker | Drag markers | mkmap |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Export a drag and drop markers question
|
||||
# Import sample file.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
And following "click here" should download between "233700" and "233950" bytes
|
||||
Then following "click here" should download between "233700" and "233950" bytes
|
||||
# If the download step is the last in the scenario then we can sometimes run
|
||||
# into the situation where the download page causes a http redirect but behat
|
||||
# has already conducted its reset (generating an error). By putting a logout
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing drag and drop markers questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import drag and drop markers question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/ddmarker/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,28 +6,24 @@ Feature: Preview a drag-drop marker question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddmarker | Drag markers | mkmap |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_bug_phantomjs
|
||||
Scenario: Preview a question using the mouse.
|
||||
When I choose "Preview" action for "Drag markers" in the question bank
|
||||
# Odd, but the <br>s go to nothing, not a space.
|
||||
Scenario: Preview a question using the mouse
|
||||
When I am on the "Drag markers" "core_question > preview" page logged in as teacher
|
||||
And I drag "OU" to "322,213" in the drag and drop markers question
|
||||
And I drag "Railway station" to "144,84" in the drag and drop markers question
|
||||
And I drag "Railway station" to "195,180" in the drag and drop markers question
|
||||
@@ -35,21 +31,19 @@ Feature: Preview a drag-drop marker question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "Please place the markers on the map of Milton Keynes" question is shown as "Correct"
|
||||
And I should see "Mark 1.00 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question using the keyboard.
|
||||
When I choose "Preview" action for "Drag markers" in the question bank
|
||||
Scenario: Preview a question using the keyboard
|
||||
When I am on the "Drag markers" "core_question > preview" page logged in as teacher
|
||||
And I type "up" "88" times on marker "Railway station" in the drag and drop markers question
|
||||
And I type "right" "26" times on marker "Railway station" in the drag and drop markers question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "Please place the markers on the map of Milton Keynes" question is shown as "Partially correct"
|
||||
And I should see "Mark 0.25 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question in multiple viewports.
|
||||
When I choose "Preview" action for "Drag markers" in the question bank
|
||||
Scenario: Preview a question in multiple viewports
|
||||
When I am on the "Drag markers" "core_question > preview" page logged in as teacher
|
||||
And I change viewport size to "large"
|
||||
And I drag "OU" to "322,213" in the drag and drop markers question
|
||||
And I drag "Railway station" to "144,84" in the drag and drop markers question
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a drag and drop into text question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript
|
||||
Scenario: Create a drag and drop into text question
|
||||
Given I add a "Drag and drop into text" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Drag and drop into text" question filling the form with:
|
||||
| Question name | Drag and drop into text 001 |
|
||||
| Question text | The [[1]] [[2]] on the [[3]]. |
|
||||
| General feedback | The cat sat on the mat. |
|
||||
@@ -33,11 +31,11 @@ Feature: Test creating a drag and drop into text question
|
||||
| Penalty for each incorrect try | 20% |
|
||||
| Hint 1 | First hint |
|
||||
| Hint 2 | Second hint |
|
||||
And I should see "Drag and drop into text 001"
|
||||
Then I should see "Drag and drop into text 001"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_ddwtos" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_shuffleanswers | 1 |
|
||||
| Penalty for each incorrect try | 20% |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a drag and drop into text question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| Drag to text | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a drag and drop into text question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "Drag to text" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | Drag to text |
|
||||
|
||||
@@ -6,28 +6,25 @@ Feature: Test editing a drag and drop into text questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddwtos | Drag to text | fox |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript
|
||||
Scenario: Edit a drag and drop into text question
|
||||
When I choose "Edit question" action for "Drag to text" in the question bank
|
||||
Then I should see "Choice [[1]]"
|
||||
When I am on the "Drag to text" "core_question > edit" page logged in as teacher
|
||||
And I should see "Choice [[1]]"
|
||||
And I should see "Choice [[2]]"
|
||||
And I should see "Choice [[3]]"
|
||||
And I set the following fields to these values:
|
||||
|
||||
@@ -6,28 +6,24 @@ Feature: Test exporting drag and drop into text questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddwtos | Drag to text | fox |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Export a drag and drop into text question
|
||||
# Import sample file.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
And following "click here" should download between "1550" and "1700" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing drag and drop into text questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import drag and drop into text question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/ddwtos/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Preview a drag-drop into text question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -21,63 +21,54 @@ Feature: Preview a drag-drop into text question
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddwtos | Drag to text | fox |
|
||||
| Test questions | ddwtos | Drag to text infinite | infinite |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_bug_phantomjs
|
||||
Scenario: Preview a question using the mouse.
|
||||
When I choose "Preview" action for "Drag to text" in the question bank
|
||||
When I am on the "Drag to text" "core_question > preview" page logged in as teacher
|
||||
And I drag "quick" to space "1" in the drag and drop into text question
|
||||
And I drag "fox" to space "2" in the drag and drop into text question
|
||||
And I drag "assiduous" to space "3" in the drag and drop into text question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "The" question is shown as "Partially correct"
|
||||
And I should see "Mark 0.67 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question using the keyboard & submit incomplete.
|
||||
When I choose "Preview" action for "Drag to text" in the question bank
|
||||
When I am on the "Drag to text" "core_question > preview" page logged in as teacher
|
||||
And I type " " into space "1" in the drag and drop onto image question
|
||||
And I type " " into space "2" in the drag and drop onto image question
|
||||
And I type " " into space "3" in the drag and drop onto image question
|
||||
And I press "Save"
|
||||
Then the state of "The" question is shown as "Incomplete answer"
|
||||
And I should see "Please put an answer in each box."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question using the keyboard.
|
||||
When I choose "Preview" action for "Drag to text" in the question bank
|
||||
When I am on the "Drag to text" "core_question > preview" page logged in as teacher
|
||||
And I type " " into space "1" in the drag and drop onto image question
|
||||
And I type " " into space "2" in the drag and drop onto image question
|
||||
And I type " " into space "3" in the drag and drop onto image question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "The" question is shown as "Incorrect"
|
||||
And I should see "Mark 0.00 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a question that uses strange group numbers using the keyboard.
|
||||
Given the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | ddwtos | Funny groups | oddgroups |
|
||||
And I reload the page
|
||||
When I choose "Preview" action for "Funny groups" in the question bank
|
||||
When I am on the "Funny groups" "core_question > preview" page logged in as teacher
|
||||
And I type " " into space "1" in the drag and drop onto image question
|
||||
And I type " " into space "2" in the drag and drop onto image question
|
||||
And I type " " into space "3" in the drag and drop onto image question
|
||||
And I press "Submit and finish"
|
||||
Then the state of "The" question is shown as "Correct"
|
||||
And I should see "Mark 1.00 out of 1.00"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript
|
||||
Scenario: Preview a infinite question.
|
||||
When I choose "Preview" action for "Drag to text infinite" in the question bank
|
||||
When I am on the "Drag to text infinite" "core_question > preview" page logged in as teacher
|
||||
And I press "Fill in correct responses"
|
||||
Then I should see "Option1" in the home area of drag and drop into text question
|
||||
And I should see "Option2" in the home area of drag and drop into text question
|
||||
And I should see "Option3" in the home area of drag and drop into text question
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,20 +6,18 @@ Feature: Test creating a Description question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
Scenario: Create a Description question with Correct answer as False
|
||||
When I add a "Description" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Description" question filling the form with:
|
||||
| Question name | description-001 |
|
||||
| Question text | Instructions about the following questions. |
|
||||
| General feedback | Why actually the field 'General feedback' used in this qytype? |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a Description question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| description-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a Description question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "description-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | description-001 |
|
||||
|
||||
@@ -6,26 +6,23 @@ Feature: Test editing a Description question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | description | description-001 | info |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
Scenario: Edit a Description question
|
||||
When I choose "Edit question" action for "description-001" in the question bank
|
||||
When I am on the "description-001" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,26 +6,23 @@ Feature: Test exporting Description questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | description | description-001 | info |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a Description question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "650" and "900" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Description questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import a Description question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/description/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,29 +6,25 @@ Feature: Preview a Description question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | description | description-001 | info |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Description question and submit a correct response.
|
||||
When I choose "Preview" action for "description-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "description-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I should see "Here is some information about the questions you are about to attempt."
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,20 +6,18 @@ Feature: Test creating an Essay question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
Scenario: Create an Essay question with Response format set to 'HTML editor'
|
||||
When I add a "Essay" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Essay" question filling the form with:
|
||||
| Question name | essay-001 |
|
||||
| Question text | Write an essay with 500 words. |
|
||||
| General feedback | This is general feedback |
|
||||
@@ -27,7 +25,8 @@ Feature: Test creating an Essay question
|
||||
Then I should see "essay-001"
|
||||
|
||||
Scenario: Create an Essay question with Response format set to 'HTML editor with the file picker'
|
||||
When I add a "Essay" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Essay" question filling the form with:
|
||||
| Question name | essay-002 |
|
||||
| Question text | Write an essay with 500 words. |
|
||||
| General feedback | This is general feedback |
|
||||
@@ -36,7 +35,8 @@ Feature: Test creating an Essay question
|
||||
|
||||
@javascript
|
||||
Scenario: Create an Essay question for testing some default options
|
||||
When I add a "Essay" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Essay" question filling the form with:
|
||||
| Question name | essay-003 |
|
||||
| Question text | Write an essay with 500 words. |
|
||||
| General feedback | This is general feedback |
|
||||
@@ -48,10 +48,10 @@ Feature: Test creating an Essay question
|
||||
| id_maxbytes | 10240 |
|
||||
Then I should see "essay-003"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_essay" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_responseformat | editorfilepicker |
|
||||
| id_responserequired | 0 |
|
||||
| id_responsefieldlines | 15 |
|
||||
|
||||
@@ -23,17 +23,17 @@ Feature: Test duplicating a quiz containing an Essay question
|
||||
| essay-001 | 1 |
|
||||
| essay-002 | 1 |
|
||||
| essay-003 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing 3 Essay questions
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
And I should see "essay-001"
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
Then I should see "essay-001"
|
||||
And I should see "essay-002"
|
||||
And I should see "essay-003"
|
||||
And I choose "Edit question" action for "essay-001" in the question bank
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Test editing an Essay question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -22,22 +22,20 @@ Feature: Test editing an Essay question
|
||||
| Test questions | essay | essay-001 | editor |
|
||||
| Test questions | essay | essay-002 | editorfilepicker |
|
||||
| Test questions | essay | essay-003 | plain |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
Scenario: Edit an Essay question
|
||||
When I choose "Edit question" action for "essay-001" in the question bank
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I choose "Edit question" action for "essay-001" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I should see "You must supply a value here."
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited essay-001 name |
|
||||
| Response format | No online text |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "When \"No online text\" is selected, or responses are optional, you must allow at least one attachment."
|
||||
When I set the following fields to these values:
|
||||
And I should see "When \"No online text\" is selected, or responses are optional, you must allow at least one attachment."
|
||||
And I set the following fields to these values:
|
||||
| Response format | Plain text |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited essay-001 name"
|
||||
|
||||
@@ -1,66 +1,64 @@
|
||||
@qtype @qtype_essay
|
||||
Feature: In an essay question, let the question author choose the min/max number of words for input text
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to choose the appropriate minimum and/or maximum number of words for input text
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to choose the appropriate minimum and/or maximum number of words for input text
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template | minwordlimit | maxwordlimit |
|
||||
| Test questions | essay | essay-min-max | editor | 0 | 0 |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript
|
||||
Scenario: Minimum/Maximum word limit are enabled but not set.
|
||||
Given I choose "Edit question" action for "essay-min-max" in the question bank
|
||||
When I set the field "minwordenabled" to "1"
|
||||
When I am on the "essay-min-max" "core_question > edit" page logged in as teacher
|
||||
And I set the field "minwordenabled" to "1"
|
||||
And I click on "Save changes" "button"
|
||||
Then I should see "Minimum word limit is enabled but is not set"
|
||||
|
||||
@javascript
|
||||
Scenario: Minimum/Maximum word limit cannot be set to a negative number.
|
||||
Given I choose "Edit question" action for "essay-min-max" in the question bank
|
||||
When I am on the "essay-min-max" "core_question > edit" page logged in as teacher
|
||||
And I set the field "minwordenabled" to "1"
|
||||
When I set the field "id_minwordlimit" to "-10"
|
||||
And I set the field "id_minwordlimit" to "-10"
|
||||
And I click on "Save changes" "button"
|
||||
Then I should see "Minimum word limit cannot be a negative number"
|
||||
|
||||
@javascript
|
||||
Scenario: Maximum word limit cannot be greater than minimum word limit.
|
||||
Given I choose "Edit question" action for "essay-min-max" in the question bank
|
||||
When I am on the "essay-min-max" "core_question > edit" page logged in as teacher
|
||||
And I set the field "minwordenabled" to "1"
|
||||
And I set the field "id_minwordlimit" to "500"
|
||||
And I set the field "maxwordenabled" to "1"
|
||||
When I set the field "id_maxwordlimit" to "450"
|
||||
And I set the field "id_maxwordlimit" to "450"
|
||||
And I click on "Save changes" "button"
|
||||
Then I should see "Maximum word limit must be greater than minimum word limit"
|
||||
|
||||
@javascript
|
||||
Scenario: Modify the question to see 'Minimum word limit' and 'Maximum word limit' are hidden when 'Require text' field is set to 'Text input is optional'
|
||||
Given I choose "Edit question" action for "essay-min-max" in the question bank
|
||||
When I am on the "essay-min-max" "core_question > edit" page logged in as teacher
|
||||
And I should see "Minimum word limit"
|
||||
And I should see "Maximum word limit"
|
||||
When I set the field "Require text" to "Text input is optional"
|
||||
And I set the field "Require text" to "Text input is optional"
|
||||
Then I should not see "Minimum word limit"
|
||||
And I should not see "Minimum word limit"
|
||||
|
||||
@javascript
|
||||
Scenario: Minimum/Maximum word limit can be unset after being set.
|
||||
Given I choose "Edit question" action for "essay-min-max" in the question bank
|
||||
When I set the following fields to these values:
|
||||
When I am on the "essay-min-max" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| minwordenabled | 1 |
|
||||
| id_minwordlimit | 100 |
|
||||
| maxwordenabled | 1 |
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Test exporting Essay questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -22,12 +22,9 @@ Feature: Test exporting Essay questions
|
||||
| Test questions | essay | essay-001 | editor |
|
||||
| Test questions | essay | essay-002 | editorfilepicker |
|
||||
| Test questions | essay | essay-003 | plain |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export 3 Essay questions
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "3000" and "3500" bytes
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
@qtype @qtype_essay
|
||||
Feature: In a essay question, limit submittable file types
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to limit the submittable file types
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to limit the submittable file types
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student0@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
| student |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
| student | C1 | student |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -31,20 +31,20 @@ I need to limit the submittable file types
|
||||
And the following "blocks" exist:
|
||||
| blockname | contextlevel | reference | pagetypepattern | defaultregion |
|
||||
| private_files | System | 1 | my-index | side-post |
|
||||
Given I am on the "Quiz 1" "mod_quiz > edit" page logged in as teacher1
|
||||
Given I am on the "Quiz 1" "mod_quiz > edit" page logged in as teacher
|
||||
And I click on "Edit question TF1" "link"
|
||||
And I set the field "Allow attachments" to "1"
|
||||
And I set the field "Response format" to "No online text"
|
||||
And I set the field "Require attachments" to "1"
|
||||
And I set the field "filetypeslist[filetypes]" to ".txt"
|
||||
And I press "Save changes"
|
||||
And I am on the "Quiz 1" "mod_quiz > edit" page logged in as teacher1
|
||||
And I am on the "Quiz 1" "mod_quiz > edit" page
|
||||
And I set the field "version" to "Always latest"
|
||||
Then I log out
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: Preview an Essay question and submit a response with a correct filetype.
|
||||
When I log in as "student1"
|
||||
When I log in as "student"
|
||||
And I follow "Manage private files"
|
||||
And I upload "lib/tests/fixtures/empty.txt" file to "Files" filemanager
|
||||
And I press "Save changes"
|
||||
@@ -62,7 +62,7 @@ I need to limit the submittable file types
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: Preview an Essay question and try to submit a response with an incorrect filetype.
|
||||
When I log in as "student1"
|
||||
When I log in as "student"
|
||||
And I follow "Manage private files"
|
||||
And I upload "lib/tests/fixtures/upload_users.csv" file to "Files" filemanager
|
||||
And I press "Save changes"
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Essay questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import Essay question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/essay/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
@qtype @qtype_essay
|
||||
Feature: In an essay question, let the question author choose the maxbytes for attachments
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to choose the appropriate maxbytes for attachments
|
||||
In order to constrain student submissions for marking
|
||||
As a teacher
|
||||
I need to choose the appropriate maxbytes for attachments
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category | maxbytes |
|
||||
| Course 1 | C1 | 0 | 1048576 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -20,20 +21,15 @@ I need to choose the appropriate maxbytes for attachments
|
||||
| questioncategory | qtype | name | template | attachments | maxbytes |
|
||||
| Test questions | essay | essay-1-512KB | editor | 1 | 524288 |
|
||||
| Test questions | essay | essay-1-max | editor | 1 | 0 |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview an Essay question and see the allowed maximum file sizes and number of attachments.
|
||||
When I choose "Preview" action for "essay-1-512KB" in the question bank
|
||||
When I am on the "essay-1-512KB" "core_question > preview" page logged in as teacher
|
||||
Then I should see "Please write a story about a frog."
|
||||
And I should see "Maximum file size: 512 KB, maximum number of files: 1"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview an Essay question with Course upload limit and see the allowed maximum file size.
|
||||
When I choose "Preview" action for "essay-1-max" in the question bank
|
||||
When I am on the "essay-1-max" "core_question > preview" page logged in as teacher
|
||||
Then I should see "Please write a story about a frog."
|
||||
And I should see "Maximum file size: 1 MB, maximum number of files: 1"
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Preview Essay questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -22,34 +22,28 @@ Feature: Preview Essay questions
|
||||
| Test questions | essay | essay-001 | editor |
|
||||
| Test questions | essay | essay-002 | editorfilepicker |
|
||||
| Test questions | essay | essay-003 | plain |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview an Essay question that uses the HTML editor.
|
||||
When I choose "Preview" action for "essay-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "essay-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I should see "Please write a story about a frog."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview an Essay question that uses the HTML editor with embedded files.
|
||||
When I choose "Preview" action for "essay-002" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "essay-002" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I should see "Please write a story about a frog."
|
||||
And I should see "You can drag and drop files here to add them."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview an Essay question that uses a plain text area.
|
||||
When I choose "Preview" action for "essay-003" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "essay-003" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I should see "Please write a story about a frog."
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a Select missing words question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript
|
||||
Scenario: Create a Select missing words question
|
||||
Given I add a "Select missing words" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Select missing words" question filling the form with:
|
||||
| Question name | Select missing words 001 |
|
||||
| Question text | The [[1]] [[2]] on the [[3]]. |
|
||||
| General feedback | The cat sat on the mat. |
|
||||
@@ -32,10 +30,10 @@ Feature: Test creating a Select missing words question
|
||||
| id_choices_4_answer | table |
|
||||
| Hint 1 | First hint |
|
||||
| Hint 2 | Second hint |
|
||||
And I should see "Select missing words 001"
|
||||
Then I should see "Select missing words 001"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_gapselect" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_shuffleanswers | 1 |
|
||||
|
||||
@@ -5,20 +5,18 @@ Feature: Test all the basic functionality of this question type
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript
|
||||
Scenario: Create, edit then preview a gapselect question.
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
|
||||
# Create a new question.
|
||||
And I add a "Select missing words" question filling the form with:
|
||||
@@ -38,7 +36,7 @@ Feature: Test all the basic functionality of this question type
|
||||
Then I should see "Select missing words 001"
|
||||
|
||||
# Preview it.
|
||||
When I choose "Preview" action for "Select missing words 001" in the question bank
|
||||
And I choose "Preview" action for "Select missing words 001" in the question bank
|
||||
|
||||
# Gaps (drop-down menus) do not have labels. ids and names are generated
|
||||
# dynamically and therefore not reliable, i.e. this is an accessibility bug
|
||||
@@ -59,7 +57,7 @@ Feature: Test all the basic functionality of this question type
|
||||
And I set space "2" to "sat" in the select missing words question
|
||||
And I set space "3" to "mat" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is correct"
|
||||
And I should see "Your answer is correct"
|
||||
And I should see "The cat sat on the mat"
|
||||
And I should see "The correct answer is: The [cat] [sat] on the [mat]."
|
||||
And I press "Start again"
|
||||
@@ -69,19 +67,19 @@ Feature: Test all the basic functionality of this question type
|
||||
And I set space "2" to "sat" in the select missing words question
|
||||
And I set space "3" to "dog" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is partially correct"
|
||||
And I should see "Your answer is partially correct"
|
||||
And I should see "First hint"
|
||||
|
||||
When I press "Try again"
|
||||
And I press "Try again"
|
||||
And I set space "3" to "table" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is partially correct"
|
||||
And I should see "Your answer is partially correct"
|
||||
And I should see "Second hint"
|
||||
|
||||
When I press "Try again"
|
||||
And I press "Try again"
|
||||
And I set space "3" to "mat" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is correct"
|
||||
And I should see "Your answer is correct"
|
||||
And I should see "The cat sat on the mat"
|
||||
And I should see "The correct answer is: The [cat] [sat] on the [mat]."
|
||||
|
||||
@@ -91,8 +89,8 @@ Feature: Test all the basic functionality of this question type
|
||||
And I press "Start again with these options"
|
||||
|
||||
# Answer question correctly
|
||||
When I press "Check"
|
||||
Then I should see "Please put an answer in each box."
|
||||
And I press "Check"
|
||||
And I should see "Please put an answer in each box."
|
||||
And I set space "1" to "cat" in the select missing words question
|
||||
And I set space "2" to "sat" in the select missing words question
|
||||
And I set space "3" to "mat" in the select missing words question
|
||||
@@ -107,7 +105,7 @@ Feature: Test all the basic functionality of this question type
|
||||
And I set space "2" to "sat" in the select missing words question
|
||||
And I set space "3" to "cat" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is partially correct"
|
||||
And I should see "Your answer is partially correct"
|
||||
And I should see "You have correctly selected 1."
|
||||
And I should see "The cat sat on the mat"
|
||||
And I should see "The correct answer is: The [cat] [sat] on the [mat]."
|
||||
@@ -118,25 +116,25 @@ Feature: Test all the basic functionality of this question type
|
||||
And I set space "2" to "ran" in the select missing words question
|
||||
And I set space "3" to "table" in the select missing words question
|
||||
And I press "Check"
|
||||
Then I should see "Your answer is incorrect"
|
||||
And I should see "Your answer is incorrect"
|
||||
And I should see "The cat sat on the mat"
|
||||
And I should see "The correct answer is: The [cat] [sat] on the [mat]."
|
||||
And I press "Close preview"
|
||||
|
||||
# Backup the course and restore it.
|
||||
When I log out
|
||||
And I log out
|
||||
And I log in as "admin"
|
||||
When I backup "Course 1" course using this options:
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
When I restore "test_backup.mbz" backup into a new course using this options:
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
Then I should see "Course 2"
|
||||
When I navigate to "Question bank" in current page administration
|
||||
Then I should see "Select missing words 001"
|
||||
And I should see "Course 2"
|
||||
And I navigate to "Question bank" in current page administration
|
||||
And I should see "Select missing words 001"
|
||||
|
||||
# Edit the copy and verify the form field contents.
|
||||
When I choose "Edit question" action for "Select missing words 001" in the question bank
|
||||
Then the following fields match these values:
|
||||
And I choose "Edit question" action for "Select missing words 001" in the question bank
|
||||
And the following fields match these values:
|
||||
| Question name | Select missing words 001 |
|
||||
| Question text | The [[1]] [[2]] on the [[3]]. |
|
||||
| General feedback | The cat sat on the mat. |
|
||||
@@ -153,4 +151,4 @@ Feature: Test all the basic functionality of this question type
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited question name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited question name"
|
||||
And I should see "Edited question name"
|
||||
|
||||
@@ -6,22 +6,19 @@ Feature: Import and export select missing words questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: Import and export select missing words questions
|
||||
# Import sample file.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/gapselect/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
@@ -32,12 +29,10 @@ Feature: Import and export select missing words questions
|
||||
And I should see "Imported Select missing words 001"
|
||||
|
||||
# Now export again.
|
||||
And I am on "Course 1" course homepage
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
And I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "1650" and "1800" bytes
|
||||
And following "click here" should download between "1650" and "1800" bytes
|
||||
# If the download step is the last in the scenario then we can sometimes run
|
||||
# into the situation where the download page causes a http redirect but behat
|
||||
# has already conducted its reset (generating an error). By putting a logout
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a Matching question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript
|
||||
Scenario: Create a Matching question with 3 subquestions
|
||||
When I add a "Matching" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Matching" question filling the form with:
|
||||
| Question name | match-001 |
|
||||
| Question text | Match the country with the capital city. |
|
||||
| General feedback | England=London, France=Paris and Spain=Madrid. |
|
||||
@@ -38,8 +36,8 @@ Feature: Test creating a Matching question
|
||||
| Hint 2 | This is your second hint |
|
||||
Then I should see "match-001"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_match" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_shuffleanswers | 0 |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a Matching question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| matching-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a Matching question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "matching-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | matching-001 |
|
||||
|
||||
@@ -6,44 +6,41 @@ Feature: Test editing a Matching question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | match | Matching for editing | foursubq |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Edit a Matching question
|
||||
When I choose "Edit question" action for "Matching for editing" in the question bank
|
||||
When I am on the "Matching for editing" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I should see "You must supply a value here."
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited Matching name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited Matching name"
|
||||
When I choose "Edit question" action for "Edited Matching name" in the question bank
|
||||
And I should see "Edited Matching name"
|
||||
And I choose "Edit question" action for "Edited Matching name" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| Shuffle | 0 |
|
||||
| Question 2 | dog |
|
||||
| Question 4 | fly |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited Matching name"
|
||||
When I choose "Preview" action for "Edited Matching name" in the question bank
|
||||
Then I should see "frog"
|
||||
And I choose "Preview" action for "Edited Matching name" in the question bank
|
||||
And I should see "frog"
|
||||
And I should see "dog"
|
||||
And I should see "newt"
|
||||
And I should see "fly"
|
||||
|
||||
@@ -6,26 +6,23 @@ Feature: Test exporting Matching questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | match | matching-001 | foursubq |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a Matching question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "1600" and "1750" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Matching questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import Matching question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/match/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,74 +6,56 @@ Feature: Preview a Matching question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | match | matching-001 | foursubq |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| questioncategory | qtype | name | template | shuffleanswers |
|
||||
| Test questions | match | matching-001 | foursubq | 0 |
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Matching question and submit a correct response.
|
||||
When I choose "Edit question" action for "matching-001" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| Shuffle | 0 |
|
||||
And I press "id_submitbutton"
|
||||
When I choose "Preview" action for "matching-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "matching-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub0')]" to "amphibian"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub1')]" to "mammal"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub2')]" to "amphibian"
|
||||
And I set the field "Answer 1" to "amphibian"
|
||||
And I set the field "Answer 2" to "mammal"
|
||||
And I set the field "Answer 3" to "amphibian"
|
||||
And I press "Check"
|
||||
Then I should see "Well done!"
|
||||
And I should see "General feedback."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Matching question and submit a partially correct response.
|
||||
When I choose "Edit question" action for "matching-001" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| Shuffle | 0 |
|
||||
And I press "id_submitbutton"
|
||||
When I choose "Preview" action for "matching-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "matching-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub0')]" to "amphibian"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub1')]" to "insect"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub2')]" to "amphibian"
|
||||
And I set the field "Answer 1" to "amphibian"
|
||||
And I set the field "Answer 2" to "insect"
|
||||
And I set the field "Answer 3" to "amphibian"
|
||||
And I press "Check"
|
||||
Then I should see "Parts, but only parts, of your response are correct."
|
||||
And I should see "General feedback."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Matching question and submit an incorrect response.
|
||||
When I choose "Edit question" action for "matching-001" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| Shuffle | 0 |
|
||||
And I press "id_submitbutton"
|
||||
When I choose "Preview" action for "matching-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "matching-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub0')]" to "mammal"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub1')]" to "insect"
|
||||
And I set the field with xpath "//table[@class='answer']//td[@class='control']//select[contains(@id, '1_sub2')]" to "insect"
|
||||
And I set the field "Answer 1" to "mammal"
|
||||
And I set the field "Answer 2" to "insect"
|
||||
And I set the field "Answer 3" to "insect"
|
||||
And I press "Check"
|
||||
Then I should see "That is not right at all."
|
||||
And I should see "General feedback."
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,33 +6,32 @@ Feature: Test creating a Multianswer (Cloze) question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
Scenario: Create a Cloze question
|
||||
When I add a "Embedded answers (Cloze)" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Embedded answers (Cloze)" question filling the form with:
|
||||
| Question name | multianswer-001 |
|
||||
| Question text | {1:SHORTANSWER:=Berlin} is the capital of Germany. |
|
||||
| General feedback | The capital of Germany is Berlin. |
|
||||
Then I should see "multianswer-001" in the "categoryquestions" "table"
|
||||
|
||||
Scenario: Create a broken Cloze question and correct it
|
||||
Given I press "Create a new question ..."
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Embedded answers (Cloze)" to "1"
|
||||
And I press "Add"
|
||||
And I set the field "Question name" to "multianswer-002"
|
||||
And I set the field "Question text" to "Please select the fruits {1:MULTICHOICE:=Apple#Correct}"
|
||||
And I set the field "General feedback" to "Apple are delicious."
|
||||
When I press "id_submitbutton"
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "This type of question requires at least 2 choices"
|
||||
And I set the following fields to these values:
|
||||
| Question text | Please select the fruits {1:MULTICHOICE:=Apple#Correct~Banana#Wrong} |
|
||||
@@ -40,11 +39,12 @@ Feature: Test creating a Multianswer (Cloze) question
|
||||
And I should see "multianswer-002" in the "categoryquestions" "table"
|
||||
|
||||
Scenario: Try to create a Cloze question that has no answer
|
||||
Given I press "Create a new question ..."
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Embedded answers (Cloze)" to "1"
|
||||
And I press "Add"
|
||||
And I set the following fields to these values:
|
||||
| Question name | multianswer-003 |
|
||||
| Question text | {1:SHORTANSWER:= } is the capital of Germany. |
|
||||
And I press "id_submitbutton"
|
||||
And I should see "This type of question requires at least 1 answers"
|
||||
Then I should see "This type of question requires at least 1 answers"
|
||||
|
||||
@@ -6,20 +6,18 @@ Feature: Test creating a Multiple choice question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
Scenario: Create a Multiple choice question with multiple response
|
||||
When I add a "Multiple choice" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Multiple choice" question filling the form with:
|
||||
| Question name | Multi-choice-001 |
|
||||
| Question text | Find the capital cities in Europe. |
|
||||
| General feedback | Paris and London |
|
||||
@@ -40,7 +38,8 @@ Feature: Test creating a Multiple choice question
|
||||
|
||||
@javascript
|
||||
Scenario: Create a Multiple choice question with single response
|
||||
Given I add a "Multiple choice" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Multiple choice" question filling the form with:
|
||||
| Question name | Multi-choice-002 |
|
||||
| Question text | Find the capital city of England. |
|
||||
| General feedback | London is the capital city of England. |
|
||||
@@ -61,12 +60,12 @@ Feature: Test creating a Multiple choice question
|
||||
| id_fraction_4 | None |
|
||||
| Hint 1 | First hint |
|
||||
| Hint 2 | Second hint |
|
||||
And I should see "Multi-choice-002"
|
||||
Then I should see "Multi-choice-002"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Multiple choice" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| Default mark | 5 |
|
||||
| One or multiple answers? | One answer only |
|
||||
| Shuffle the choices? | 0 |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a Multiple choice question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| Multi-choice-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a Multiple choice question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "Multi-choice-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | Multi-choice-001 |
|
||||
|
||||
@@ -6,15 +6,15 @@ Feature: Clear my answers
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| student1 | S1 | Student1 | student1@moodle.com |
|
||||
| username |
|
||||
| student |
|
||||
And the following "course" exists:
|
||||
| fullname | Course 1 |
|
||||
| shortname | C1 |
|
||||
| category | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| student1 | C1 | student |
|
||||
| user | course | role |
|
||||
| student | C1 | student |
|
||||
And the following "question category" exists:
|
||||
| contextlevel | Course |
|
||||
| reference | C1 |
|
||||
@@ -39,7 +39,7 @@ Feature: Clear my answers
|
||||
|
||||
@javascript
|
||||
Scenario: Attempt a quiz and reset my chosen answer.
|
||||
Given I am on the "Quiz 1" "quiz activity" page logged in as student1
|
||||
Given I am on the "Quiz 1" "quiz activity" page logged in as student
|
||||
When I press "Attempt quiz"
|
||||
And I should see "Question One"
|
||||
And I click on "Four" "qtype_multichoice > Answer" in the "Question One" "question"
|
||||
@@ -51,7 +51,7 @@ Feature: Clear my answers
|
||||
|
||||
@javascript
|
||||
Scenario: Attempt a quiz and revisit a cleared answer.
|
||||
Given I am on the "Quiz 1" "quiz activity" page logged in as student1
|
||||
Given I am on the "Quiz 1" "quiz activity" page logged in as student
|
||||
When I press "Attempt quiz"
|
||||
And I should see "Question One"
|
||||
And I click on "Four" "qtype_multichoice > Answer" in the "Question One" "question"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Test editing a Multiple choice question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -21,23 +21,20 @@ Feature: Test editing a Multiple choice question
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | multichoice | Multiple choice for editing | two_of_four |
|
||||
| Test questions | multichoice | Single choice for editing | one_of_four |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
Scenario: Edit a Multiple choice question with multiple response (checkboxes)
|
||||
When I choose "Edit question" action for "Multiple choice for editing" in the question bank
|
||||
When I am on the "Multiple choice for editing" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I should see "You must supply a value here."
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited Multiple choice name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited Multiple choice name"
|
||||
|
||||
Scenario: Edit a Multiple choice question with single response (radio buttons)
|
||||
When I choose "Edit question" action for "Single choice for editing" in the question bank
|
||||
When I am on the "Single choice for editing" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited Single choice name |
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Test exporting Multiple choice questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -21,12 +21,9 @@ Feature: Test exporting Multiple choice questions
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | multichoice | Multi-choice-001 | two_of_four |
|
||||
| Test questions | multichoice | Multi-choice-002 | one_of_four |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a Multiple choice question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "3900" and "4100" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Multiple choice questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import Multiple choice question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/multichoice/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Preview a Multiple choice question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -21,14 +21,11 @@ Feature: Preview a Multiple choice question
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | multichoice | Multi-choice-001 | two_of_four |
|
||||
| Test questions | multichoice | Multi-choice-002 | one_of_four |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Multiple choice question and submit a partially correct response.
|
||||
When I choose "Preview" action for "Multi-choice-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "Multi-choice-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "One" "qtype_multichoice > Answer"
|
||||
@@ -38,12 +35,11 @@ Feature: Preview a Multiple choice question
|
||||
And I should see "Two is even"
|
||||
And I should see "Mark 0.50 out of 1.00"
|
||||
And I should see "Parts, but only parts, of your response are correct."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Multiple choice question and submit a correct response.
|
||||
When I choose "Preview" action for "Multi-choice-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "Multi-choice-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "One" "qtype_multichoice > Answer"
|
||||
@@ -55,12 +51,11 @@ Feature: Preview a Multiple choice question
|
||||
And I should see "Well done!"
|
||||
And I should see "The odd numbers are One and Three."
|
||||
And I should see "The correct answers are: One, Three"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Multiple choice question and submit a correct response.
|
||||
When I choose "Preview" action for "Multi-choice-002" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "Multi-choice-002" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "One" "qtype_multichoice > Answer"
|
||||
@@ -69,16 +64,14 @@ Feature: Preview a Multiple choice question
|
||||
And I should see "Mark 1.00 out of 1.00"
|
||||
And I should see "Well done!"
|
||||
And I should see "The correct answer is: One"
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a multiple choice question (single response) and clear a previous selected option.
|
||||
When I choose "Preview" action for "Multi-choice-002" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "Multi-choice-002" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "One" "qtype_multichoice > Answer"
|
||||
Then I should see "Clear my choice"
|
||||
And I click on "Clear my choice" "text"
|
||||
And I should not see "Clear my choice"
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,23 +6,21 @@ Feature: Test creating a Numerical question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "language customisations" exist:
|
||||
| component | stringid | value |
|
||||
| core_langconfig | decsep | # |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
Scenario: Create a Numerical question
|
||||
When I add a "Numerical" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Numerical" question filling the form with:
|
||||
| Question name | Numerical-001 |
|
||||
| Question text | What is the average of 4, 5, 6 and 10? |
|
||||
| Default mark | 1 |
|
||||
@@ -40,7 +38,8 @@ Feature: Test creating a Numerical question
|
||||
|
||||
@javascript
|
||||
Scenario: Create a Numerical question with units
|
||||
Given I add a "Numerical" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Numerical" question filling the form with:
|
||||
| Question name | Numerical-002 |
|
||||
| Question text | How many meter is 1m + 20cm + 50mm? |
|
||||
| Default mark | 1 |
|
||||
@@ -60,12 +59,12 @@ Feature: Test creating a Numerical question
|
||||
| id_unitsleft | on the right, for example 1.00cm or 1.00km |
|
||||
| id_multichoicedisplay | a drop-down menu |
|
||||
| id_unit_0 | m |
|
||||
And I should see "Numerical-002"
|
||||
Then I should see "Numerical-002"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "item_qtype_numerical" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| id_unitrole | The unit must be given, and will be graded. |
|
||||
| id_unitpenalty | 0#15 |
|
||||
| id_unitgradingtypes | as a fraction (0-1) of the question grade |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a Numerical question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| Numerical-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a Numerical question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "Numerical-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | Numerical-001 |
|
||||
|
||||
@@ -6,39 +6,36 @@ Feature: Test editing a Numerical question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | numerical | Numerical for editing | pi |
|
||||
| Test questions | numerical | Numerical for editing | pi |
|
||||
|
||||
Scenario: Edit a Numerical question when using a custom decimal separator
|
||||
Given the following "language customisations" exist:
|
||||
| component | stringid | value |
|
||||
| core_langconfig | decsep | # |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
When I choose "Edit question" action for "Numerical for editing" in the question bank
|
||||
Then the field "id_answer_0" matches value "3#14"
|
||||
When I set the following fields to these values:
|
||||
When I am on the "Numerical for editing" "core_question > edit" page logged in as teacher
|
||||
And the field "id_answer_0" matches value "3#14"
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I should see "You must supply a value here."
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited Numerical name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited Numerical name"
|
||||
When I choose "Edit question" action for "Edited Numerical name" in the question bank
|
||||
And I choose "Edit question" action for "Edited Numerical name" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| id_answer_1 | 3#141592 |
|
||||
| id_tolerance_1 | 0#005 |
|
||||
@@ -46,13 +43,10 @@ Feature: Test editing a Numerical question
|
||||
| id_tolerance_2 | 0.005 |
|
||||
| id_answer_3 | 3,01 |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited Numerical name"
|
||||
And I should see "Edited Numerical name"
|
||||
|
||||
Scenario: Edit a Numerical question with very small answer
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
When I choose "Edit question" action for "Numerical for editing" in the question bank
|
||||
When I am on the "Numerical for editing" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| id_answer_0 | 0.00000123456789 |
|
||||
| id_tolerance_1 | 0.0000123456789 |
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Test exporting Numerical questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -21,12 +21,9 @@ Feature: Test exporting Numerical questions
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | numerical | Numerical-001 | pi |
|
||||
| Test questions | numerical | Numerical-002 | pi3tries |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a Numerical question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "3650" and "3750" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Numerical questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import Numerical question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/numerical/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,14 +6,14 @@ Feature: Preview a Numerical question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
@@ -24,28 +24,24 @@ Feature: Preview a Numerical question
|
||||
And the following "language customisations" exist:
|
||||
| component | stringid | value |
|
||||
| core_langconfig | decsep | # |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Numerical question and submit a correct response.
|
||||
When I choose "Preview" action for "Numerical-001" in the question bank
|
||||
Then I should see "What is pi to two d.p.?"
|
||||
And I press "Preview options"
|
||||
When I set the field "How questions behave" to "Immediate feedback"
|
||||
When I am on the "Numerical-001" "core_question > preview" page logged in as teacher
|
||||
And I should see "What is pi to two d.p.?"
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I set the field with xpath "//span[@class='answer']//input[contains(@id, '1_answer')]" to "3.14"
|
||||
And I press "Check"
|
||||
Then I should see "Very good."
|
||||
And I should see "Mark 1#00 out of 1#00"
|
||||
When I press "Start again"
|
||||
And I press "Start again"
|
||||
And I set the field with xpath "//span[@class='answer']//input[contains(@id, '1_answer')]" to "3,14"
|
||||
And I press "Check"
|
||||
Then I should see "Please enter your answer without using the thousand separator (,)."
|
||||
When I press "Start again"
|
||||
And I should see "Please enter your answer without using the thousand separator (,)."
|
||||
And I press "Start again"
|
||||
And I set the field with xpath "//span[@class='answer']//input[contains(@id, '1_answer')]" to "3#14"
|
||||
And I press "Check"
|
||||
Then I should see "Very good."
|
||||
And I should see "Very good."
|
||||
And I should see "Mark 1#00 out of 1#00"
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -6,21 +6,19 @@ Feature: Test creating a Short answer question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript
|
||||
Scenario: Create a Short answer question
|
||||
Given I add a "Short answer" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "Short answer" question filling the form with:
|
||||
| Question name | shortanswer-001 |
|
||||
| Question text | What is the national langauge in France? |
|
||||
| General feedback | The national langauge in France is French |
|
||||
@@ -32,10 +30,10 @@ Feature: Test creating a Short answer question
|
||||
| id_answer_1 | * |
|
||||
| id_fraction_1 | None |
|
||||
| id_feedback_1 | Your answer is incorrect. |
|
||||
And I should see "shortanswer-001"
|
||||
Then I should see "shortanswer-001"
|
||||
# Checking that the next new question form displays user preferences settings.
|
||||
When I press "Create a new question ..."
|
||||
And I press "Create a new question ..."
|
||||
And I set the field "Short answer" to "1"
|
||||
And I click on "Add" "button" in the "Choose a question type to add" "dialogue"
|
||||
Then the following fields match these values:
|
||||
And the following fields match these values:
|
||||
| Case sensitivity | Yes, case must match |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a Short answer question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| shortanswer-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a Short answer question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "shortanswer-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | shortanswer-001 |
|
||||
|
||||
@@ -6,50 +6,47 @@ Feature: Test editing a Short answer question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | shortanswer | shortanswer-001 for editing | frogtoad |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Edit a Short answer question
|
||||
When I choose "Edit question" action for "shortanswer-001" in the question bank
|
||||
When I am on the "shortanswer-001 for editing" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I should see "You must supply a value here."
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited shortanswer-001 name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited shortanswer-001 name"
|
||||
When I choose "Edit question" action for "Edited shortanswer-001" in the question bank
|
||||
And I choose "Edit question" action for "Edited shortanswer-001" in the question bank
|
||||
And I set the following fields to these values:
|
||||
| id_answer_1 | newt |
|
||||
| id_fraction_1 | 70% |
|
||||
| id_feedback_1 | Newt is an OK good answer. |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited shortanswer-001 name"
|
||||
When I choose "Preview" action for "Edited shortanswer-001" in the question bank
|
||||
Then I should see "Name an amphibian:"
|
||||
And I should see "Edited shortanswer-001 name"
|
||||
And I choose "Preview" action for "Edited shortanswer-001" in the question bank
|
||||
And I should see "Name an amphibian:"
|
||||
# Set behaviour options
|
||||
And I set the following fields to these values:
|
||||
| behaviour | immediatefeedback |
|
||||
And I press "Start again with these options"
|
||||
And I set the field with xpath "//div[@class='qtext']//input[contains(@id, '1_answer')]" to "newt"
|
||||
And I press "Check"
|
||||
Then I should see "Newt is an OK good answer."
|
||||
And I should see "Newt is an OK good answer."
|
||||
And I should see "Generalfeedback: frog or toad would have been OK."
|
||||
And I should see "The correct answer is: frog"
|
||||
|
||||
@@ -6,26 +6,23 @@ Feature: Test exporting Short answer questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | shortanswer | shortanswer-001 | frogtoad |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a Short answer question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "1200" and "1450" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing Short answer questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import Matching question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/shortanswer/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,28 +6,25 @@ Feature: Preview a Short answer question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | shortanswer | shortanswer-001 | frogtoad |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Short answer question with correct answer
|
||||
When I choose "Preview" action for "shortanswer-001" in the question bank
|
||||
Then I should see "Name an amphibian:"
|
||||
When I am on the "shortanswer-001" "core_question > preview" page logged in as teacher
|
||||
And I should see "Name an amphibian:"
|
||||
# Set behaviour options
|
||||
And I set the following fields to these values:
|
||||
| behaviour | immediatefeedback |
|
||||
@@ -40,8 +37,8 @@ Feature: Preview a Short answer question
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Short answer question with almost correct answer
|
||||
When I choose "Preview" action for "shortanswer-001" in the question bank
|
||||
Then I should see "Name an amphibian:"
|
||||
When I am on the "shortanswer-001" "core_question > preview" page logged in as teacher
|
||||
And I should see "Name an amphibian:"
|
||||
# Set behaviour options
|
||||
And I set the following fields to these values:
|
||||
| behaviour | immediatefeedback |
|
||||
@@ -54,8 +51,8 @@ Feature: Preview a Short answer question
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a Short answer question with incorrect answer
|
||||
When I choose "Preview" action for "shortanswer-001" in the question bank
|
||||
Then I should see "Name an amphibian:"
|
||||
When I am on the "shortanswer-001" "core_question > preview" page logged in as teacher
|
||||
And I should see "Name an amphibian:"
|
||||
# Set behaviour options
|
||||
And I set the following fields to these values:
|
||||
| behaviour | immediatefeedback |
|
||||
|
||||
@@ -6,20 +6,18 @@ Feature: Test creating a True/False question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
Scenario: Create a True/False question with Correct answer as False
|
||||
When I add a "True/False" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "True/False" question filling the form with:
|
||||
| Question name | true-false-001 |
|
||||
| Question text | Manchester is the capital city of England. |
|
||||
| Default mark | 1 |
|
||||
@@ -30,7 +28,8 @@ Feature: Test creating a True/False question
|
||||
Then I should see "true-false-001"
|
||||
|
||||
Scenario: Create a True/False question with Correct answer as True
|
||||
When I add a "True/False" question filling the form with:
|
||||
When I am on the "Course 1" "core_question > course question bank" page logged in as teacher
|
||||
And I add a "True/False" question filling the form with:
|
||||
| Question name | true-false-002 |
|
||||
| Question text | London is the capital city of England. |
|
||||
| Default mark | 1 |
|
||||
|
||||
@@ -19,16 +19,16 @@ Feature: Test duplicating a quiz containing a True/False question
|
||||
| quiz | Test quiz | C1 | quiz1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| true-false-001 | 1 |
|
||||
And I log in as "admin"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
@javascript
|
||||
Scenario: Backup and restore a course containing a True/False question
|
||||
When I backup "Course 1" course using this options:
|
||||
When I am on the "Course 1" course page logged in as admin
|
||||
And I backup "Course 1" course using this options:
|
||||
| Confirmation | Filename | test_backup.mbz |
|
||||
And I restore "test_backup.mbz" backup into a new course using this options:
|
||||
| Schema | Course name | Course 2 |
|
||||
And I navigate to "Question bank" in current page administration
|
||||
| Schema | Course name | Course 2 |
|
||||
| Schema | Course short name | C2 |
|
||||
And I am on the "Course 2" "core_question > course question bank" page
|
||||
And I choose "Edit question" action for "true-false-001" in the question bank
|
||||
Then the following fields match these values:
|
||||
| Question name | true-false-001 |
|
||||
|
||||
@@ -6,31 +6,28 @@ Feature: Test editing a True/False question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | truefalse | true-false-001 | true |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
Scenario: Edit a True/False question
|
||||
When I choose "Edit question" action for "true-false-001" in the question bank
|
||||
When I am on the "true-false-001" "core_question > edit" page logged in as teacher
|
||||
And I set the following fields to these values:
|
||||
| Question name | |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "You must supply a value here."
|
||||
When I set the following fields to these values:
|
||||
And I set the following fields to these values:
|
||||
| Question name | Edited true-false-001 name |
|
||||
And I press "id_submitbutton"
|
||||
Then I should see "Edited true-false-001 name"
|
||||
And I should see "Edited true-false-001 name"
|
||||
|
||||
@@ -6,26 +6,23 @@ Feature: Test exporting True/False questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | truefalse | true-false-001 | true |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
|
||||
Scenario: Export a True/False question
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Export" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question export" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I press "Export questions to file"
|
||||
Then following "click here" should download between "1000" and "1200" bytes
|
||||
|
||||
@@ -6,21 +6,18 @@ Feature: Test importing True/False questions
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@example.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
|
||||
@javascript @_file_upload
|
||||
Scenario: import a True/False question.
|
||||
When I navigate to "Question bank" in current page administration
|
||||
And I select "Import" from the "Question bank tertiary navigation" singleselect
|
||||
When I am on the "Course 1" "core_question > course question import" page logged in as teacher
|
||||
And I set the field "id_format_xml" to "1"
|
||||
And I upload "question/type/truefalse/tests/fixtures/testquestion.moodle.xml" file to "Import" filemanager
|
||||
And I press "id_submitbutton"
|
||||
|
||||
@@ -6,40 +6,36 @@ Feature: Preview a Trtue/False question
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | T1 | Teacher1 | teacher1@moodle.com |
|
||||
| username |
|
||||
| teacher |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | template |
|
||||
| Test questions | truefalse | true-false-001 | true |
|
||||
Given I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage
|
||||
And I navigate to "Question bank" in current page administration
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a True/False question and submit a correct response.
|
||||
When I choose "Preview" action for "true-false-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "true-false-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "True" "radio"
|
||||
And I press "Check"
|
||||
And I should see "This is the right answer."
|
||||
And I should see "The correct answer is 'True'."
|
||||
And I press "Close preview"
|
||||
|
||||
@javascript @_switch_window
|
||||
Scenario: Preview a True/False question and submit an incorrect response.
|
||||
When I choose "Preview" action for "true-false-001" in the question bank
|
||||
And I press "Preview options"
|
||||
When I am on the "true-false-001" "core_question > preview" page logged in as teacher
|
||||
And I expand all fieldsets
|
||||
And I set the field "How questions behave" to "Immediate feedback"
|
||||
And I press "Start again with these options"
|
||||
And I click on "False" "radio"
|
||||
@@ -47,4 +43,3 @@ Feature: Preview a Trtue/False question
|
||||
And I should see "This is the wrong answer."
|
||||
And I should see "You should have selected true."
|
||||
And I should see "The correct answer is 'True'."
|
||||
And I press "Close preview"
|
||||
|
||||
@@ -78,6 +78,12 @@ This files describes API changes for code that uses the question API.
|
||||
anymore as the api is now self sufficient, calling the api will fetch all the features:
|
||||
process_actions(), process_actions_needing_ui().
|
||||
|
||||
12) The Behat class for question-related steps has been renamed to behat_core_question
|
||||
to match the expected naming convention. In the unlikely event that you are directly
|
||||
referring to the behat_question class name (nothing in the standard Moodle code was)
|
||||
then you will have to update your reference.
|
||||
|
||||
|
||||
=== 3.9 ==
|
||||
|
||||
1) For years, the ..._questions_in_use callback has been the right way for plugins to
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
|
||||
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php.
|
||||
|
||||
require_once(__DIR__ . '/../../../../question/tests/behat/behat_question.php');
|
||||
require_once(__DIR__ . '/../../../../question/tests/behat/behat_core_question.php');
|
||||
use Behat\Gherkin\Node\TableNode as TableNode;
|
||||
|
||||
/**
|
||||
@@ -27,7 +27,7 @@ use Behat\Gherkin\Node\TableNode as TableNode;
|
||||
* @copyright 2021 Mathew May
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class behat_theme_classic_behat_question extends behat_question {
|
||||
class behat_theme_classic_behat_core_question extends behat_core_question {
|
||||
/**
|
||||
* Creates a question in the current course questions bank with the provided data.
|
||||
* This step can only be used when creating question types composed by a single form.
|
||||
Reference in New Issue
Block a user