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
* @package booktool_exportimscp
22
* @copyright 2013 Frédéric Massart
23
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
26
defined('MOODLE_INTERNAL') || die();
32
* @package booktool_exportimscp
34
* @copyright 2013 Frédéric Massart
35
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37
class booktool_exportimscp_events_testcase extends advanced_testcase {
39
public function setUp() {
40
$this->resetAfterTest();
43
public function test_book_exported() {
44
// There is no proper API to call to test the event, so what we are
45
// doing here is simply making sure that the events returns the right information.
47
$course = $this->getDataGenerator()->create_course();
48
$book = $this->getDataGenerator()->create_module('book', array('course' => $course->id));
51
'context' => context_module::instance($book->cmid),
52
'objectid' => $book->id
54
$event = \booktool_exportimscp\event\book_exported::create($params);
56
// Triggering and capturing the event.
57
$sink = $this->redirectEvents();
59
$events = $sink->get_events();
60
$this->assertCount(1, $events);
61
$event = reset($events);
63
// Checking that the event contains the expected values.
64
$this->assertInstanceOf('\booktool_exportimscp\event\book_exported', $event);
65
$this->assertEquals(context_module::instance($book->cmid), $event->get_context());
66
$this->assertEquals($book->id, $event->objectid);
67
$expected = array($course->id, 'book', 'exportimscp', 'tool/exportimscp/index.php?id=' . $book->cmid,
68
$book->id, $book->cmid);
69
$this->assertEventLegacyLogData($expected, $event);