public function it_should_set_template_name(Route $route, ArticleInterface $article)
 {
     $this->setTemplateName(null, [])->shouldReturn([]);
     $this->setTemplateName(null, [RouteObjectInterface::ROUTE_OBJECT => $route])->shouldReturn([RouteObjectInterface::ROUTE_OBJECT => $route, RouteObjectInterface::TEMPLATE_NAME => 'article.html.twig']);
     $route->getTemplateName()->willReturn('test.html.twig');
     $route->getContent()->willReturn(null);
     $route->getType()->willReturn(RouteInterface::TYPE_CONTENT);
     $this->setTemplateName(null, [RouteObjectInterface::ROUTE_OBJECT => $route])->shouldReturn([RouteObjectInterface::ROUTE_OBJECT => $route, RouteObjectInterface::TEMPLATE_NAME => 'test.html.twig']);
     $route->getTemplateName()->willReturn('test.html.twig');
     $route->getType()->shouldBeCalled();
     $article->getRoute()->willReturn($route);
     $article->getTemplateName()->willReturn(null);
     $this->setTemplateName($article, [RouteObjectInterface::ROUTE_OBJECT => $route])->shouldReturn([RouteObjectInterface::ROUTE_OBJECT => $route, RouteObjectInterface::TEMPLATE_NAME => 'test.html.twig']);
     $route->getTemplateName()->willReturn('test.html.twig');
     $article->getRoute()->willReturn($route);
     $article->getTemplateName()->willReturn('article2.html.twig');
     $this->setTemplateName($article, [])->shouldReturn([RouteObjectInterface::TEMPLATE_NAME => 'article2.html.twig']);
 }
 public function it_creates_a_new_collection_route(Route $route, EventDispatcherInterface $eventDispatcher, RouteInterface $parent)
 {
     $route->getType()->willReturn(RouteInterface::TYPE_COLLECTION);
     $route->getName()->willReturn('test-name');
     $route->getTemplateName()->willReturn('index.html.twig');
     $route->getParent()->willReturn($parent);
     $eventDispatcher->dispatch(RouteEvents::PRE_CREATE, Argument::type(RouteEvent::class))->shouldBeCalled();
     $route->setVariablePattern(Argument::exact('/{slug}'))->shouldBeCalled();
     $route->setRequirement(Argument::exact('slug'), Argument::exact('[a-zA-Z0-9*\\-_\\/]+'))->shouldBeCalled();
     $route->setDefault('slug', null)->shouldBeCalled();
     $route->setStaticPrefix('/test-name')->shouldBeCalled();
     $eventDispatcher->dispatch(RouteEvents::POST_CREATE, Argument::type(RouteEvent::class))->shouldBeCalled();
     $this->createRoute($route)->shouldReturn($route);
 }
 public function it_should_resolve_template_name_from_collection_type_route_and_defaultArticlesTemplate_set_and_defaultTemplate_in_article_(Route $route, ArticleInterface $article)
 {
     $route->getType()->willReturn(RouteInterface::TYPE_COLLECTION);
     $route->getTemplateName()->willReturn('test2.html.twig');
     $route->getArticlesTemplateName()->willReturn('article_template.html.twig');
     $article->getRoute()->willReturn($route);
     $article->getTemplateName()->willReturn('custom_article.html.twig');
     $this->resolve($article)->shouldReturn('custom_article.html.twig');
 }