. /** * Event handler tests. * * @package local_webhooks * @copyright 2026 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_webhooks; #[\PHPUnit\Framework\Attributes\CoversClass(handler::class)] /** * Event handler tests. * * @covers \local_webhooks\handler */ final class handler_test extends \advanced_testcase { /** * The legacy observer does not inspect or deliver events. */ public function test_legacy_delivery_is_disabled(): void { global $CFG; $this->resetAfterTest(); $event = new class { /** @var bool Whether event data was requested. */ public bool $accessed = false; /** * Fails if the disabled handler reads the event. * * @return array */ public function get_data(): array { $this->accessed = true; throw new \LogicException('The disabled handler must not read event data.'); } }; handler::events($event); $this->assertFalse($event->accessed); $user = $this->getDataGenerator()->create_user(); $coreevent = \core\event\user_created::create([ 'objectid' => $user->id, 'context' => \context_user::instance($user->id), ]); $sink = $this->redirectEvents(); $debug = $CFG->debug; try { $CFG->debug = DEBUG_DEVELOPER; handler::events($coreevent); } finally { $CFG->debug = $debug; } $events = $sink->get_events(); $sink->close(); $this->assertEmpty($events); } }