public function testSaveContent() { $app = $this->getApp(); $app['request'] = Request::create('/'); $storage = new Storage($app); // Test missing contenttype handled $content = new Content($app); $this->setExpectedException('Bolt\\Exception\\StorageException', 'Contenttype is required for saveContent'); $this->assertFalse($storage->saveContent($content)); // Test dispatcher is called pre-save and post-save $content = $storage->getContent('showcases/1'); $presave = 0; $postsave = 0; $listener = function () use(&$presave) { $presave++; }; $listener2 = function () use(&$postsave) { $postsave++; }; $app['dispatcher']->addListener(StorageEvents::PRE_SAVE, $listener); $app['dispatcher']->addListener(StorageEvents::POST_SAVE, $listener2); $storage->saveContent($content); $this->assertEquals(1, $presave); $this->assertEquals(1, $postsave); }