/**
  * Tests for event blog_entry_deleted.
  */
 public function test_blog_entry_deleted_event()
 {
     global $USER, $DB;
     $this->setAdminUser();
     $this->resetAfterTest();
     $sitecontext = context_system::instance();
     // Delete a user blog entry as Admin.
     $blog = new blog_entry($this->postid);
     $sink = $this->redirectEvents();
     $record = $DB->get_record('post', array('id' => $blog->id));
     $blog->delete();
     $events = $sink->get_events();
     $event = array_pop($events);
     $sink->close();
     // Validate event data.
     $this->assertInstanceOf('\\core\\event\\blog_entry_deleted', $event);
     $this->assertEquals(null, $event->get_url());
     $this->assertEquals($sitecontext->id, $event->contextid);
     $this->assertEquals($blog->id, $event->objectid);
     $this->assertEquals($USER->id, $event->userid);
     $this->assertEquals($this->userid, $event->relateduserid);
     $this->assertEquals("post", $event->objecttable);
     $this->assertEquals($record, $event->get_record_snapshot("post", $blog->id));
     $this->assertSame('blog_entry_deleted', $event->get_legacy_eventname());
     $arr = array(SITEID, 'blog', 'delete', 'index.php?userid=' . $blog->userid, 'deleted blog entry with entry id# ' . $blog->id);
     $this->assertEventLegacyLogData($arr, $event);
     $this->assertEventLegacyData($blog, $event);
     $this->assertEventContextNotUsed($event);
 }
Exemple #2
0
    /**
     * Test various blog related events.
     */
    public function test_blog_entry_events() {
        global $USER, $DB;

        $this->setAdminUser();
        $this->resetAfterTest();

        // Create a blog entry.
        $blog = new blog_entry();
        $blog->summary = "This is summary of blog";
        $blog->subject = "Subject of blog";
        $states = blog_entry::get_applicable_publish_states();
        $blog->publishstate = reset($states);
        $sink = $this->redirectEvents();
        $blog->add();
        $events = $sink->get_events();
        $event = reset($events);
        $sitecontext = context_system::instance();

        // Validate event data.
        $this->assertInstanceOf('\core\event\blog_entry_created', $event);
        $this->assertEquals($sitecontext->id, $event->contextid);
        $this->assertEquals($blog->id, $event->objectid);
        $this->assertEquals($USER->id, $event->userid);
        $this->assertEquals("post", $event->objecttable);

        // Delete a blog entry.
        $record = $DB->get_record('post', array('id' => $blog->id));
        $blog->delete();
        $events = $sink->get_events();
        $event = array_pop($events);

        // Validate event data.
        $this->assertInstanceOf('\core\event\blog_entry_deleted', $event);
        $this->assertEquals(context_system::instance()->id, $event->contextid);
        $this->assertEquals($blog->id, $event->objectid);
        $this->assertEquals($USER->id, $event->userid);
        $this->assertEquals("post", $event->objecttable);
        $this->assertEquals($record, $event->get_record_snapshot("post", $blog->id));
        $this->assertSame('blog_entry_deleted', $event->get_legacy_eventname());

    }