Proyectos de Subversion Moodle

Rev

Rev 1 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
 * Events test.
19
 *
20
 * @package    mod_h5pactivity
21
 * @copyright  2020 Ferran Recio <ferran@moodle.com>
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
namespace mod_h5pactivity\event;
26
 
27
use advanced_testcase;
28
use context_course;
29
use context_module;
30
 
31
/**
32
 * H5P activity events test cases.
33
 *
34
 * @package    mod_h5pactivity
35
 * @copyright  2020 Ferran Recio <ferran@moodle.com>
36
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37
 */
38
class course_module_viewed_test extends advanced_testcase {
39
 
40
    /**
41
     * Test course_module_viewed event.
42
     */
11 efrain 43
    public function test_course_module_viewed(): void {
1 efrain 44
        // There is no proper API to call to trigger this event, so what we are
45
        // doing here is simply making sure that the events returns the right information.
46
 
47
        $this->resetAfterTest();
48
 
49
        $this->setAdminUser();
50
 
51
        $course = $this->getDataGenerator()->create_course();
52
        $activity = $this->getDataGenerator()->create_module('h5pactivity', ['course' => $course->id]);
53
 
54
        $params = [
55
            'context' => context_module::instance($activity->cmid),
56
            'objectid' => $activity->id
57
        ];
58
        $event = course_module_viewed::create($params);
59
 
60
        // Triggering and capturing the event.
61
        $sink = $this->redirectEvents();
62
        $event->trigger();
63
        $events = $sink->get_events();
64
        $this->assertCount(1, $events);
65
        $event = reset($events);
66
 
67
        // Checking that the event contains the expected values.
68
        $this->assertInstanceOf('\mod_h5pactivity\event\course_module_viewed', $event);
69
        $this->assertEquals(context_module::instance($activity->cmid), $event->get_context());
70
        $this->assertEquals($activity->id, $event->objectid);
71
        $this->assertEventContextNotUsed($event);
72
    }
73
}