Example #1
0
 /**
  * {@inheritDoc}
  */
 public function getThemePath()
 {
     $issue = $this->issueService->getIssue();
     if (!$issue) {
         return;
     }
     $languageId = $issue->getLanguageId();
     $publication = $this->publicationService->getPublication();
     $cacheKeyThemePath = $this->cacheService->getCacheKey(array('getThemePath', $languageId, $publication->getId(), $issue->getNumber()), 'issue');
     $themePath = null;
     $webOutput = null;
     $outSetIssues = null;
     if ($this->cacheService->contains($cacheKeyThemePath)) {
         $themePath = $this->cacheService->fetch($cacheKeyThemePath);
     } else {
         $cacheKeyWebOutput = $this->cacheService->getCacheKey(array('OutputService', 'Web'), 'outputservice');
         if ($this->cacheService->contains($cacheKeyWebOutput)) {
             $webOutput = $this->cacheService->fetch($cacheKeyWebOutput);
         } else {
             $webOutput = $this->findByName('Web');
             $this->cacheService->save($cacheKeyWebOutput, $webOutput);
         }
         $outSetIssues = $this->findByIssueAndOutput($issue->getId(), $webOutput);
         if (!is_null($outSetIssues)) {
             $themePath = $outSetIssues->getThemePath()->getPath();
         }
         $this->cacheService->save($cacheKeyThemePath, $themePath);
     }
     return $themePath;
 }
 public function let(IssueServiceInterface $issueService, Issue $issue, CacheService $cacheService, PublicationService $publicationService, Publication $publication, EntityManager $em, Registry $doctrine, EntityRepository $repository, Output $output, OutputSettingsIssue $issueOutput)
 {
     $issueService->getIssue()->willReturn($issue);
     $publicationService->getPublication()->willReturn($publication);
     $doctrine->getManager()->willReturn($em);
     $em->getRepository(Argument::exact('Newscoop\\Entity\\Output'))->willReturn($repository);
     $repository->findBy(array('name' => 'Web'))->willReturn(array($output));
     $em->getRepository(Argument::exact('Newscoop\\Entity\\Output\\OutputSettingsIssue'))->willReturn($repository);
     $repository->findBy(array('issue' => 1, 'output' => 1))->willReturn(array($issueOutput));
     $issue->getId()->willReturn(1);
     $issue->getNumber()->willReturn(10);
     $issue->getName()->willReturn("May 2014");
     $issue->getShortName()->willReturn("may2014");
     $issue->getLanguageId()->willReturn(1);
     $output->getId()->willReturn(1);
     $output->getName()->willReturn('Web');
     $this->beConstructedWith($issueService, $cacheService, $publicationService, $em);
 }