コード例 #1
0
 /**
  * @param PackageInterface $package
  *
  * @return ArticleInterface
  */
 protected function hydrateArticle(PackageInterface $package)
 {
     /** @var ArticleInterface $article */
     $article = $this->create();
     $article->setBody($this->populateBody($package));
     $article->setTitle($package->getHeadline());
     if (null !== $package->getSlugline()) {
         $article->setSlug($package->getSlugline());
     }
     $article->setLocale($package->getLanguage());
     $article->setLead($this->populateLead($package));
     $article->setMetadata($package->getMetadata());
     // assign default route
     $article->setRoute($this->routeProvider->getRouteForArticle($article));
     return $article;
 }
コード例 #2
0
 public function it_creates_article_from_package_and_sets_article_slug_from_package_slugline(FactoryInterface $factory, PackageInterface $package, Article $article, RouteInterface $route, RouteProviderInterface $routeProvider)
 {
     $factory->create()->willReturn($article);
     $item = new Item();
     $item->setBody('some item body');
     $item->setType('text');
     $item->setDescription('item lead');
     $package->getHeadline()->shouldBeCalled()->willReturn('item headline');
     $package->getDescription()->shouldBeCalled()->willReturn('package lead');
     $package->getBody()->shouldBeCalled()->willReturn('some package body');
     $package->getItems()->shouldBeCalled()->willReturn(new ArrayCollection([$item]));
     $package->getLanguage()->shouldBeCalled()->willReturn('en');
     $package->getMetadata()->shouldBeCalled()->willReturn(['some' => 'meta']);
     $package->getSlugline()->shouldBeCalled()->willReturn('slugline');
     $article->setTitle('item headline')->shouldBeCalled();
     $article->setBody('some package body some item body')->shouldBeCalled();
     $article->setLead('package lead item lead')->shouldBeCalled();
     $article->setLocale('en')->shouldBeCalled();
     $article->setRoute($route)->shouldBeCalled();
     $article->setMetadata(['some' => 'meta'])->shouldBeCalled();
     $article->setSlug('slugline')->shouldBeCalled();
     $routeProvider->getRouteForArticle($article)->willReturn($route);
     $this->createFromPackage($package)->shouldReturn($article);
 }