/** * Mostra un articolo, partendo dal suo slug. * * @param ArticleRepository $articleRepository * @param $slug * @param $slug2 * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function getArticle(ArticleRepository $articleRepository, SeriesRepository $seriesRepository, $slug, $slug2 = null) { if ($slug2) { try { /* @var Series $series */ $series = $seriesRepository->findBySlug($slug, true); /* @var Article $article */ $article = $articleRepository->findBySeriesAndSlug($series, $slug2); return view('front.article', compact('article')); } catch (NotFoundException $e) { throw new NotFoundHttpException(); } } try { $article = $articleRepository->findBySlug($slug, true, true); return view('front.article', compact('article')); } catch (NotFoundException $e) { throw new NotFoundHttpException(); } }
/** * @expectedException \LaravelItalia\Exceptions\NotFoundException */ public function testFindBySeriesAndSlugThrowsExceptionIfNotFound() { $series = $this->saveTestSeries('My Series'); $this->saveTestArticle(true, true); $this->repository->findBySeriesAndSlug($series, 'test-title'); }