Differences Between: [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Enrolment steps definitions. 19 * 20 * @package core_enrol 21 * @category test 22 * @copyright 2013 David MonllaĆ³ 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 // NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php. 27 28 require_once (__DIR__ . '/../../../lib/behat/behat_base.php'); 29 30 use Behat\Gherkin\Node\TableNode as TableNode; 31 32 /** 33 * Steps definitions for general enrolment actions. 34 * 35 * @package core_enrol 36 * @category test 37 * @copyright 2013 David MonllaĆ³ 38 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 39 */ 40 class behat_enrol extends behat_base { 41 42 /** 43 * Adds the specified enrolment method to the current course filling the form with the provided data. 44 * 45 * @Given /^I add "(?P<enrolment_method_name_string>(?:[^"]|\\")*)" enrolment method with:$/ 46 * @param string $enrolmethod 47 * @param TableNode $table 48 */ 49 public function i_add_enrolment_method_with($enrolmethod, TableNode $table) { 50 // Navigate to enrolment method page. 51 $parentnodes = get_string('users', 'admin'); 52 $this->execute("behat_navigation::i_navigate_to_in_current_page_administration", 53 array($parentnodes .' > '. get_string('type_enrol_plural', 'plugin')) 54 ); 55 56 // Select enrolment method. 57 $this->execute('behat_forms::i_select_from_the_singleselect', 58 array($this->escape($enrolmethod), get_string('addinstance', 'enrol')) 59 ); 60 61 // Wait again, for page to reloaded. 62 $this->execute('behat_general::i_wait_to_be_redirected'); 63 64 // Set form fields. 65 $this->execute("behat_forms::i_set_the_following_fields_to_these_values", $table); 66 67 // Ensure we get button in focus, before pressing button. 68 if ($this->running_javascript()) { 69 $this->execute('behat_general::i_press_named_key', ['', 'tab']); 70 } 71 72 // Save changes. 73 $this->execute("behat_forms::press_button", get_string('addinstance', 'enrol')); 74 75 } 76 77 /** 78 * Enrols the specified user in the current course without options. 79 * 80 * This is a simple step, to set enrolment options would be better to 81 * create a separate step as a TableNode will be required. 82 * 83 * @Given /^I enrol "(?P<user_fullname_string>(?:[^"]|\\")*)" user as "(?P<rolename_string>(?:[^"]|\\")*)"$/ 84 * @param string $userfullname 85 * @param string $rolename 86 */ 87 public function i_enrol_user_as($userfullname, $rolename) { 88 89 // Navigate to enrolment page. 90 $parentnodes = get_string('users', 'admin'); 91 $this->execute("behat_navigation::i_navigate_to_in_current_page_administration", 92 array($parentnodes . ' > '. get_string('enrolledusers', 'enrol')) 93 ); 94 95 $this->execute("behat_forms::press_button", get_string('enrolusers', 'enrol')); 96 97 if ($this->running_javascript()) { 98 $this->execute('behat_forms::i_set_the_field_to', array(get_string('assignrole', 'enrol_manual'), $rolename)); 99 100 // We have a div here, not a tr. 101 $this->execute('behat_forms::i_set_the_field_to', array(get_string('selectusers', 'enrol_manual'), $userfullname)); 102 103 $enrolusers = get_string('enrolusers', 'enrol_manual'); 104 $this->execute('behat_general::i_click_on_in_the', [$enrolusers, 'button', $enrolusers, 'dialogue']); 105 106 } else { 107 $this->execute('behat_forms::i_set_the_field_to', array(get_string('assignrole', 'role'), $rolename)); 108 $this->execute('behat_forms::i_set_the_field_to', array("addselect", $userfullname)); 109 $this->execute("behat_forms::press_button", "add"); 110 } 111 } 112 113 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body