mirror of
https://github.com/moodle/moodle.git
synced 2025-04-25 10:26:17 +02:00
MDL-42021 events: Debug message when objecttable set without an objectid
This commit is contained in:
parent
7f3836d15a
commit
31e571cdf0
lib
@ -463,6 +463,9 @@ abstract class base implements \IteratorAggregate {
|
||||
if (!$DB->get_manager()->table_exists($this->data['objecttable'])) {
|
||||
debugging('Unknown table specified in objecttable field', DEBUG_DEVELOPER);
|
||||
}
|
||||
if (!isset($this->data['objectid'])) {
|
||||
debugging('Event property objectid must be set when objecttable is defined', DEBUG_DEVELOPER);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -619,17 +619,21 @@ class core_event_testcase extends advanced_testcase {
|
||||
@$event->trigger();
|
||||
$this->assertDebuggingCalled();
|
||||
|
||||
$event = \core_tests\event\bad_event6::create(array('context'=>\context_system::instance()));
|
||||
$event = \core_tests\event\bad_event6::create(array('objectid'=>1, 'context'=>\context_system::instance()));
|
||||
$event->trigger();
|
||||
$this->assertDebuggingCalled();
|
||||
$this->assertDebuggingCalled('Unknown table specified in objecttable field');
|
||||
|
||||
$event = \core_tests\event\bad_event7::create(array('objectid'=>1, 'context'=>\context_system::instance()));
|
||||
try {
|
||||
$event->trigger();
|
||||
$this->fail('Exception expected when $data contains objectid by objecttable not specified');
|
||||
$this->fail('Exception expected when $data contains objectid but objecttable not specified');
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('\coding_exception', $e);
|
||||
}
|
||||
|
||||
$event = \core_tests\event\bad_event8::create(array('context'=>\context_system::instance()));
|
||||
$event->trigger();
|
||||
$this->assertDebuggingCalled('Event property objectid must be set when objecttable is defined');
|
||||
}
|
||||
|
||||
public function test_problematic_events() {
|
||||
|
8
lib/tests/fixtures/event_fixtures.php
vendored
8
lib/tests/fixtures/event_fixtures.php
vendored
@ -174,6 +174,14 @@ class bad_event7 extends \core\event\base {
|
||||
}
|
||||
}
|
||||
|
||||
class bad_event8 extends \core\event\base {
|
||||
protected function init() {
|
||||
$this->data['crud'] = 'c';
|
||||
$this->data['level'] = self::LEVEL_OTHER;
|
||||
$this->data['objecttable'] = 'user';
|
||||
}
|
||||
}
|
||||
|
||||
class problematic_event1 extends \core\event\base {
|
||||
protected function init() {
|
||||
$this->data['crud'] = 'u';
|
||||
|
Loading…
x
Reference in New Issue
Block a user