示例#1
0
 public function testSetting()
 {
     $block = new Block();
     $block->setSetting('foo', 'bar');
     $this->assertEquals('void', $block->getSetting('fake', 'void'));
     $this->assertNull($block->getSetting('fake'));
     $this->assertEquals('bar', $block->getSetting('foo'));
 }
 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'));
 }