From 336b5b59142dcc337be7e7e14677faed70cf98e0 Mon Sep 17 00:00:00 2001 From: David Monllao Date: Thu, 11 Apr 2013 11:44:16 +0800 Subject: [PATCH] MDL-38958 behat: Step definition to add questions --- question/tests/behat/behat_question.php | 65 +++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 question/tests/behat/behat_question.php diff --git a/question/tests/behat/behat_question.php b/question/tests/behat/behat_question.php new file mode 100644 index 00000000000..cb1e423f7a4 --- /dev/null +++ b/question/tests/behat/behat_question.php @@ -0,0 +1,65 @@ +. + +/** + * 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_base.php'); + +use Behat\Behat\Context\Step\Given as Given, + Behat\Gherkin\Node\TableNode as TableNode; + +/** + * 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_question extends behat_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 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) { + + $questiontypexpath = "//span[@class='qtypename'][.='" . $questiontypename . "'] +/ancestor::div[@class='qtypeoption']/descendant::input"; + + return array( + new Given('I follow "' . get_string('questionbank', 'question') . '"'), + new Given('I press "' . get_string('createnewquestion', 'question') . '"'), + new Given('I click on "' . $questiontypexpath . '" "xpath_element"'), + new Given('I click on "Next" "button" in the "#qtypechoicecontainer" "css_element"'), + new Given('I fill the moodle form with:', $questiondata), + new Given('I press "Save changes"') + ); + } + +} -- 2.11.4.GIT