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_module;
29
 
30
/**
31
 * H5P activity events test cases.
32
 *
33
 * @package    mod_h5pactivity
34
 * @copyright  2020 Ferran Recio <ferran@moodle.com>
35
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
36
 */
37
class statement_received_test extends advanced_testcase {
38
 
39
    /**
40
     * Test statement_recieved event.
41
     */
11 efrain 42
    public function test_statement_received(): void {
1 efrain 43
        global $USER;
44
 
45
        $this->resetAfterTest();
46
 
47
        $this->setAdminUser();
48
 
49
        // Must be a non-guest user to create h5pactivities.
50
        $this->setAdminUser();
51
 
52
        // There is no proper API to call to trigger this event, so what we are
53
        // doing here is simply making sure that the events returns the right information.
54
 
55
        $course = $this->getDataGenerator()->create_course();
56
        $activity = $this->getDataGenerator()->create_module('h5pactivity', ['course' => $course->id]);
57
 
58
        $params = [
59
            'context' => context_module::instance($activity->cmid),
60
            'objectid' => $activity->id
61
        ];
62
        $event = statement_received::create($params);
63
 
64
        // Triggering and capturing the event.
65
        $sink = $this->redirectEvents();
66
        $event->trigger();
67
        $events = $sink->get_events();
68
        $this->assertCount(1, $events);
69
        $event = reset($events);
70
 
71
        // Checking that the event contains the expected values.
72
        $this->assertInstanceOf('\mod_h5pactivity\event\statement_received', $event);
73
        $this->assertEquals(context_module::instance($activity->cmid), $event->get_context());
74
        $this->assertEquals($activity->id, $event->objectid);
75
        $this->assertEventContextNotUsed($event);
76
    }
77
}