public function loadPages() { $pages = array(); $i = 1; $pageAll = new Page(); $pageAll->setId($i); $pageAll->setRequestMethod(''); $pageAll->setRouteName('all'); $pageAll->setUrl('/all'); $pages[$i++] = $pageAll; $pagePost = new Page(); $pagePost->setId($i); $pagePost->setRequestMethod('POST'); $pagePost->setRouteName('post'); $pagePost->setUrl('/post'); $pagePost->setParent($pageAll); $pages[$i++] = $pagePost; $pageGet = new Page(); $pageGet->setId($i); $pageGet->setRequestMethod('GET'); $pageGet->setRouteName('get'); $pageGet->setUrl('/get'); $pageGet->setParent($pageAll); $pages[$i++] = $pageGet; $page = new Page(); $page->setId($i); $page->setRequestMethod('GET|POST'); $page->setRouteName('get-post'); $page->setUrl('/get-post'); $page->setParent($pageAll); $pages[$i++] = $page; return $pages; }
/** * Returns Sonata route page generator service * * @return RoutePageGenerator */ protected function getRoutePageGenerator() { $router = $this->getRouterMock(); $pageManager = $this->getMockBuilder('Sonata\\PageBundle\\Entity\\PageManager')->disableOriginalConstructor()->getMock(); $pageManager->expects($this->any())->method('create')->will($this->returnValue(new Page())); $hybridPage = new Page(); $hybridPage->setRouteName('test_hybrid_page_not_exists'); $pageManager->expects($this->any())->method('getHybridPages')->will($this->returnValue(array($hybridPage))); $decoratorStrategy = new DecoratorStrategy(array(), array(), array()); $exceptionListener = $this->getMockBuilder('Sonata\\PageBundle\\Listener\\ExceptionListener')->disableOriginalConstructor()->getMock(); $exceptionListener->expects($this->any())->method('getHttpErrorCodes')->will($this->returnValue(array(404, 500))); return new RoutePageGenerator($router, $pageManager, $decoratorStrategy, $exceptionListener); }
public function setUp() { $pages = array(); $i = 1; $this->site = new Site(); $pageAll = new Page(); $pageAll->setId($i); $pageAll->setRequestMethod(''); $pageAll->setRouteName('all'); $pageAll->setUrl('/all'); $pageAll->setSite($this->site); $pages[$i++] = $pageAll; $pagePost = new Page(); $pagePost->setId($i); $pagePost->setRequestMethod('POST'); $pagePost->setRouteName('post'); $pagePost->setUrl('/post'); $pagePost->setParent($pageAll); $pagePost->setSite($this->site); $pages[$i++] = $pagePost; $pageGet = new Page(); $pageGet->setId($i); $pageGet->setRequestMethod('GET'); $pageGet->setRouteName('get'); $pageGet->setUrl('/get'); $pageGet->setParent($pageAll); $pageGet->setSite($this->site); $pages[$i++] = $pageGet; $page = new Page(); $page->setId($i); $page->setRequestMethod('GET|POST'); $page->setRouteName('get-post'); $page->setUrl('/get-post'); $page->setParent($pageAll); $page->setSite($this->site); $pages[$i++] = $page; $this->pages = $pages; }
public function testFixUrl() { $manager = new PageManager($this->getMock('Doctrine\\ORM\\EntityManager', array(), array(), '', false)); $page1 = new Page(); $page1->setName('Salut comment ca va ?'); $page2 = new Page(); $page2->setName('Super! et toi ?'); $page1->addChildren($page2); $manager->fixUrl($page1); $this->assertEquals($page1->getSlug(), 'salut-comment-ca-va'); $this->assertEquals($page1->getUrl(), '/salut-comment-ca-va'); $parent = new Page(); $parent->setRouteName('homepage'); $parent->addChildren($page1); $manager->fixUrl($parent); $this->assertEquals($parent->getSlug(), null); // homepage is a specific route name $this->assertEquals($parent->getUrl(), '/'); $this->assertEquals($page1->getSlug(), 'salut-comment-ca-va'); $this->assertEquals($page1->getUrl(), '/salut-comment-ca-va'); $this->assertEquals($page2->getSlug(), 'super-et-toi'); $this->assertEquals($page2->getUrl(), '/salut-comment-ca-va/super-et-toi'); }
/** * Returns Sonata route page generator service * * @return RoutePageGenerator */ protected function getRoutePageGenerator() { $router = $this->getRouterMock(); $pageManager = $this->getMockBuilder('Sonata\\PageBundle\\Entity\\PageManager')->disableOriginalConstructor()->getMock(); $pageManager->expects($this->any())->method('create')->will($this->returnValue(new Page())); $hybridPageNotExists = new Page(); $hybridPageNotExists->setRouteName('test_hybrid_page_not_exists'); $hybridPageWithGoodHost = new Page(); $hybridPageWithGoodHost->setRouteName('test_hybrid_page_with_good_host'); $hybridPageWithBadHost = new Page(); $hybridPageWithBadHost->setRouteName('test_hybrid_page_with_bad_host'); $pageManager->expects($this->at(12))->method('findOneBy')->with($this->equalTo(array('routeName' => 'test_hybrid_page_with_bad_host', 'site' => 1)))->will($this->returnValue($hybridPageWithBadHost)); $pageManager->expects($this->any())->method('getHybridPages')->will($this->returnValue(array($hybridPageNotExists, $hybridPageWithGoodHost, $hybridPageWithBadHost))); $decoratorStrategy = new DecoratorStrategy(array(), array(), array()); $exceptionListener = $this->getMockBuilder('Sonata\\PageBundle\\Listener\\ExceptionListener')->disableOriginalConstructor()->getMock(); $exceptionListener->expects($this->any())->method('getHttpErrorCodes')->will($this->returnValue(array(404, 500))); return new RoutePageGenerator($router, $pageManager, $decoratorStrategy, $exceptionListener); }
public function testPageTypeDynamic() { $page = new Page(); $page->setRouteName('foo_bar'); $page->setUrl('/hello/{name}'); $this->assertFalse($page->isCms(), 'isCms'); $this->assertTrue($page->isDynamic(), 'isDynamic'); $this->assertTrue($page->isHybrid(), 'isHybrid'); $this->assertFalse($page->isInternal(), 'isInternal'); }