diff --git a/mod/forum/tests/behat/behat_mod_forum.php b/mod/forum/tests/behat/behat_mod_forum.php new file mode 100644 index 00000000000..9183a19229d --- /dev/null +++ b/mod/forum/tests/behat/behat_mod_forum.php @@ -0,0 +1,61 @@ +. + +/** + * Steps definitions related with the forum activity. + * + * @package mod_forum + * @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; +/** + * Forum-related steps definitions. + * + * @package mod_forum + * @category test + * @copyright 2013 David Monllaó + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class behat_mod_forum extends behat_base { + + /** + * Adds a discussion to the forum specified by it's name with the provided table data (usually Subject and Message). The step begins from the forum's course page. + * + * @Given /^I add a new discussion to "(?P(?:[^"]|\\")*)" forum with:$/ + * @param string $forumname + * @param TableNode $table + */ + public function i_add_a_forum_discussion_to_forum_with($forumname, TableNode $table) { + + // Escaping $forumname as it has been stripped automatically by the transformer. + return array( + new Given('I follow "' . $this->escape($forumname) . '"'), + new Given('I press "Add a new discussion topic"'), + new Given('I fill the moodle form with:', $table), + new Given('I press "Post to forum"'), + new Given('I wait "5" seconds') + ); + } + +}