/** * @param string $path * * @return Content */ protected function createContent($path = '/test/content') { $content = new Content(); $content->setId($path); $content->setTitle('Foo Content'); $this->getDm()->persist($content); $this->getDm()->flush(); return $content; }
public function testEnhanceTemplateByClass() { if ($content = $this->getDm()->find(null, '/test/content/templatebyclass')) { $this->getDm()->remove($content); $this->getDm()->flush(); } NodeHelper::createPath($this->getDm()->getPhpcrSession(), '/test/content'); $document = new Content(); $document->setId('/test/content/templatebyclass'); $document->setTitle('the title'); $this->getDm()->persist($document); // put a route for this content $root = $this->getDm()->find(null, self::ROUTE_ROOT); $route = new Route(); $route->setContent($document); $route->setPosition($root, 'templatebyclass'); $this->getDm()->persist($route); $this->getDm()->flush(); $expected = array('_controller' => 'cmf_content.controller:indexAction', RouteObjectInterface::ROUTE_NAME => self::ROUTE_ROOT . '/templatebyclass'); $request = Request::create('/templatebyclass'); $matches = $this->router->matchRequest($request); ksort($matches); $this->assertEquals($expected, $matches); $this->assertTrue($request->attributes->has(DynamicRouter::ROUTE_KEY)); $this->assertTrue($request->attributes->has(DynamicRouter::CONTENT_TEMPLATE)); $this->assertEquals('TestBundle:Content:index.html.twig', $request->attributes->get(DynamicRouter::CONTENT_TEMPLATE)); }