/** * Test external blog updated 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_updated_event() { // Trigger an event: external blog updated. $eventparams = array('context' => $context = context_system::instance(), 'objectid' => 1001, 'other' => array('url' => 'http://moodle.org')); $event = \core\event\blog_external_updated::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_updated', $event); $this->assertEquals(1001, $event->objectid); $this->assertEquals('http://moodle.org', $event->other['url']); $this->assertDebuggingNotCalled(); }
$event->trigger(); break; case 'edit': if ($data->id && $DB->record_exists('blog_external', array('id' => $data->id))) { $rss = new moodle_simplepie($data->url); $external->id = $data->id; $external->name = empty($data->name) ? $rss->get_title() : $data->name; $external->description = empty($data->description) ? $rss->get_description() : $data->description; $external->userid = $USER->id; $external->url = $data->url; $external->filtertags = !empty($data->filtertags) ? $data->filtertags : null; $external->timemodified = time(); $DB->update_record('blog_external', $external); // Log this action. $eventparms = array('context' => $context, 'objectid' => $external->id, 'other' => array('url' => $external->url)); $event = \core\event\blog_external_updated::create($eventparms); $event->trigger(); core_tag_tag::set_item_tags('core', 'blog_external', $external->id, context_user::instance($external->userid), $data->autotags); } else { print_error('wrongexternalid', 'blog'); } break; default: print_error('invalidaction'); } redirect($returnurl); } } navigation_node::override_active_url(new moodle_url('/blog/external_blogs.php')); $PAGE->navbar->add(get_string('addnewexternalblog', 'blog')); $PAGE->set_heading(fullname($USER));