From 21c6f11c1a97dd738031df15c30afa2fd9c23951 Mon Sep 17 00:00:00 2001 From: David Monllao Date: Mon, 8 Apr 2013 11:50:37 +0800 Subject: [PATCH] MDL-38953 behat: Step definition to send a message --- message/tests/behat/behat_message.php | 79 +++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 message/tests/behat/behat_message.php diff --git a/message/tests/behat/behat_message.php b/message/tests/behat/behat_message.php new file mode 100644 index 00000000000..3b0a07edd67 --- /dev/null +++ b/message/tests/behat/behat_message.php @@ -0,0 +1,79 @@ +. + +/** + * Behat message-related steps definitions. + * + * @package core_message + * @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\Mink\Exception\ElementNotFoundException as ElementNotFoundException; + +/** + * Messaging system steps definitions. + * + * @package core_message + * @category test + * @copyright 2013 David MonllaĆ³ + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class behat_message extends behat_base { + + /** + * Sends a message to the specified user from the logged user. + * + * @Given /^I send "(?P(?:[^"]|\\")*)" message to "(?P(?:[^"]|\\")*)"$/ + * @throws ElementNotFoundException + * @param string $messagecontent + * @param string $tousername + */ + public function i_send_message_to_user($messagecontent, $tousername) { + + global $DB; + + // Runs by CLI, same PHP process that created the user. + $touser = $DB->get_record('user', array('username' => $tousername)); + if (!$touser) { + throw new ElementNotFoundException($this->getSession(), '"' . $tousername . '" '); + } + $tofullname = fullname($touser); + + $steps = array(); + $steps[] = new Given('I am on homepage'); + + if ($this->running_javascript()) { + $steps[] = new Given('I expand "My profile" node'); + } + + $steps[] = new Given('I follow "Messages"'); + $steps[] = new Given('I fill in "' . get_string('searchcombined', 'message') . '" with "' . $tofullname . '"'); + $steps[] = new Given('I press "' . get_string('searchcombined', 'message') . '"'); + $steps[] = new Given('I follow "' . get_string('sendmessageto', 'message', $tofullname) . '"'); + $steps[] = new Given('I fill in "id_message" with "' . $messagecontent . '"'); + $steps[] = new Given('I press "' . get_string('sendmessage', 'message') . '"'); + + return $steps; + } + +} -- 2.11.4.GIT