/** * Test external blog removed event. * * There is no external API for this, so the unit test will simply * create and trigger the event and ensure data is returned as expected. */ public function test_external_blog_removed_event() { // Trigger an event: external blog removed. $eventparams = array('context' => $context = context_system::instance(), 'objectid' => 1001); $event = \core\event\blog_external_removed::create($eventparams); // Trigger and capture the event. $sink = $this->redirectEvents(); $event->trigger(); $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\blog_external_removed', $event); $this->assertEquals(1001, $event->objectid); $this->assertDebuggingNotCalled(); }
$strblogs = get_string('blogs', 'blog'); $message = null; if ($delete && confirm_sesskey()) { $externalblog = $DB->get_record('blog_external', array('id' => $delete)); if ($externalblog->userid == $USER->id) { // Delete the external blog. $DB->delete_records('blog_external', array('id' => $delete)); // Delete the external blog's posts. $deletewhere = 'module = :module AND userid = :userid AND ' . $DB->sql_isnotempty('post', 'uniquehash', false, false) . ' AND ' . $DB->sql_compare_text('content') . ' = ' . $DB->sql_compare_text(':delete'); $DB->delete_records_select('post', $deletewhere, array('module' => 'blog_external', 'userid' => $USER->id, 'delete' => $delete)); // Log this action. $eventparms = array('context' => $context, 'objectid' => $delete); $event = \core\event\blog_external_removed::create($eventparms); $event->add_record_snapshot('blog_external', $externalblog); $event->trigger(); $message = get_string('externalblogdeleted', 'blog'); } } $blogs = $DB->get_records('blog_external', array('userid' => $USER->id)); $PAGE->set_heading(fullname($USER)); $PAGE->set_title("{$SITE->shortname}: {$strblogs}: {$strexternalblogs}"); $PAGE->set_pagelayout('standard'); echo $OUTPUT->header(); echo $OUTPUT->heading($strexternalblogs, 2); if (!empty($message)) { echo $OUTPUT->notification($message); } echo $OUTPUT->box_start('generalbox boxaligncenter');