From d940ccbe0be56bac6cff27e8fb4290ea1f07e963 Mon Sep 17 00:00:00 2001 From: cescobedo Date: Wed, 13 Mar 2019 01:14:56 +0100 Subject: [PATCH] MDL-64664 core_message: New data generator for contacts --- lib/tests/behat/behat_data_generators.php | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/lib/tests/behat/behat_data_generators.php b/lib/tests/behat/behat_data_generators.php index d0bdb8eee7c..2577d462f4a 100644 --- a/lib/tests/behat/behat_data_generators.php +++ b/lib/tests/behat/behat_data_generators.php @@ -183,6 +183,11 @@ class behat_data_generators extends behat_base { 'category' => 'categoryid', ) ), + 'message contacts' => array( + 'datagenerator' => 'message_contacts', + 'required' => array('user', 'contact'), + 'switchids' => array('user' => 'userid', 'contact' => 'contactid') + ), ); /** @@ -837,4 +842,28 @@ class behat_data_generators extends behat_base { return $context; } + /** + * Adds user to contacts + * + * @param array $data + * @return void + */ + protected function process_message_contacts($data) { + \core_message\api::add_contact($data['userid'], $data['contactid']); + } + + /** + * Gets the contact id from it's username. + * @throws Exception + * @param string $username + * @return int + */ + protected function get_contact_id($username) { + global $DB; + + if (!$id = $DB->get_field('user', 'id', array('username' => $username))) { + throw new Exception('The specified user with username "' . $username . '" does not exist'); + } + return $id; + } }