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 * H5P-related steps definitions. 19 * 20 * @package mod_h5pactivity 21 * @category test 22 * @copyright 2020 Ferran Recio 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 class behat_mod_h5pactivity_generator extends behat_generator_base { 26 27 protected function get_creatable_entities(): array { 28 return [ 29 'attempts' => [ 30 'singular' => 'attempt', 31 'datagenerator' => 'attempt', 32 'required' => ['h5pactivity', 'user'], 33 'switchids' => ['h5pactivity' => 'h5pactivityid', 'user' => 'userid'], 34 ], 35 ]; 36 } 37 38 /** 39 * Look up the id of a h5p from its name. 40 * 41 * @param string $h5pname the activity name, for example 'Test h5p'. 42 * @return int corresponding id 43 */ 44 protected function get_h5pactivity_id(string $h5pname): int { 45 global $DB; 46 47 if (!$id = $DB->get_field('h5pactivity', 'id', ['name' => $h5pname])) { 48 throw new Exception('There is no h5p activity with name "' . $h5pname); 49 } 50 return $id; 51 } 52 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body