2 // This file is part of Moodle - http://moodle.org/
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.
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.
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/>.
20 * Generator tests class.
23 * @copyright 2013 Frédéric Massart
24 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
26 class generator_test
extends \advanced_testcase
{
31 public function setUp(): void
{
33 // Chat module is disabled by default, enable it for testing.
34 $manager = \core_plugin_manager
::resolve_plugininfo_class('mod');
35 $manager::enable_plugin('chat', 1);
38 public function test_create_instance(): void
{
40 $this->resetAfterTest();
41 $this->setAdminUser();
43 $course = $this->getDataGenerator()->create_course();
45 $this->assertFalse($DB->record_exists('chat', array('course' => $course->id
)));
46 $chat = $this->getDataGenerator()->create_module('chat', array('course' => $course->id
));
47 $this->assertEquals(1, $DB->count_records('chat', array('course' => $course->id
)));
48 $this->assertTrue($DB->record_exists('chat', array('course' => $course->id
)));
49 $this->assertTrue($DB->record_exists('chat', array('id' => $chat->id
)));
51 $params = array('course' => $course->id
, 'name' => 'One more chat');
52 $chat = $this->getDataGenerator()->create_module('chat', $params);
53 $this->assertEquals(2, $DB->count_records('chat', array('course' => $course->id
)));
54 $this->assertEquals('One more chat', $DB->get_field_select('chat', 'name', 'id = :id', array('id' => $chat->id
)));