public function testService() { $templating = new FakeTemplating(); $service = new TextBlockService('sonata.page.block.text', $templating); $page = new Page(); $block = new Block(); $block->setType('core.text'); $block->setSettings(array('content' => 'my text')); $formMapper = $this->getMock('Sonata\\AdminBundle\\Form\\FormMapper', array(), array(), '', false); $formMapper->expects($this->exactly(2))->method('add'); $manager = $this->getMock('Sonata\\PageBundle\\CmsManager\\CmsManagerInterface'); $service->buildCreateForm($manager, $formMapper, $block); $service->buildEditForm($manager, $formMapper, $block); $response = $service->execute($manager, $block, $page); $this->assertEquals('my text', $templating->parameters['settings']['content']); }
public function testService() { $kernel = $this->getMock('Symfony\\Component\\HttpKernel\\HttpKernelInterface', array('render', 'handle')); $kernel->expects($this->exactly(1))->method('render'); $templating = new FakeTemplating(); $service = new ActionBlockService('sonata.page.block.action', $templating, $kernel); $block = new Block(); $block->setType('core.action'); $block->setSettings(array('action' => 'SonataPageBundle:Page:blockPreview')); $manager = $this->getMock('Sonata\\PageBundle\\CmsManager\\CmsManagerInterface'); $formMapper = $this->getMock('Sonata\\AdminBundle\\Form\\FormMapper', array(), array(), '', false); $formMapper->expects($this->exactly(2))->method('add'); $service->buildCreateForm($manager, $formMapper, $block); $service->buildEditForm($manager, $formMapper, $block); $page = new Page(); $service->execute($manager, $block, $page); $this->assertEquals('SonataPageBundle:Page:blockPreview', $templating->parameters['block']->getSetting('action')); }
public function testService() { $templating = new FakeTemplating(); $service = new ContainerBlockService('core.container', $templating); $block = new Block(); $block->setType('core.container'); $block->setSettings(array('name' => 'Symfony')); $formMapper = $this->getMock('Sonata\\AdminBundle\\Form\\FormMapper', array(), array(), '', false); $formMapper->expects($this->exactly(6))->method('add'); $manager = $this->getMock('Sonata\\PageBundle\\CmsManager\\CmsManagerInterface'); $service->buildCreateForm($manager, $formMapper, $block); $service->buildEditForm($manager, $formMapper, $block); $page = new Page(); $service->execute($manager, $block, $page); $this->assertEquals('SonataPageBundle:Block:block_container.html.twig', $templating->view); $this->assertEquals('Symfony', $templating->parameters['container']->getSetting('name')); $this->assertInstanceOf('Sonata\\PageBundle\\Tests\\Model\\Page', $templating->parameters['page']); $this->assertInstanceOf('Sonata\\PageBundle\\Tests\\Model\\Block', $templating->parameters['container']); }
public function testfindContainer() { $blockManager = $this->getMock('Sonata\\PageBundle\\Model\\BlockManagerInterface'); $blockManager = $this->getManager()->getBlockManager(); $blockManager->expects($this->once())->method('createNewContainer')->will($this->returnCallback(function ($options) { $block = new Block(); $block->setSettings($options); return $block; })); $blockManager->expects($this->once())->method('save')->will($this->returnValue(true)); $pageManager = $this->getMock('Sonata\\PageBundle\\Model\\PageManagerInterface'); $templating = $this->getMock('Symfony\\Component\\Templating\\EngineInterface'); $cacheInvalidation = $this->getMock('Sonata\\PageBundle\\Cache\\Invalidation\\InvalidationInterface'); $router = $this->getMock('Symfony\\Component\\Routing\\RouterInterface'); $manager = new CmsPageManager($templating, $cacheInvalidation, $router, array('not_found' => array('404'), 'fatal' => array('500')), $pageManager, $blockManager); $block = new Block(); $block->setSettings(array('name' => 'findme')); $page = new Page(); $page->addBlocks($block); $container = $manager->findContainer('findme', $page); $this->assertEquals(spl_object_hash($block), spl_object_hash($container)); $container = $manager->findContainer('newcontainer', $page); $this->assertEquals('newcontainer', $container->getSetting('name')); }