Esempio n. 1
0
 /** @test */
 public function read_published_articles()
 {
     $dbUserRepository = new DbUserRepository();
     $administrator = factory(User::class)->create(['verified' => true]);
     $dbUserRepository->assignAdministratorRole($administrator);
     $dbArticleRepository = new DbArticleRepository();
     $articles = factory(Article::class, 2)->create(['publish' => true]);
     $tags = factory(Tag::class, 6)->create();
     $dbArticleRepository->assignTags($articles->get(0), [$tags->get(0)->id, $tags->get(1)->id]);
     $dbArticleRepository->assignTags($articles->get(1), [$tags->get(2)->id, $tags->get(3)->id]);
     $unPublishedArticle = factory(Article::class)->create(['publish' => false]);
     $this->actingAs($administrator)->visit(route('cms.articles.published'))->seePageIs(route('cms.articles.published'))->see('<title>' . trans('cms.articles') . ' | ' . 'CmsChamb</title>')->see('<th>Actions</th>')->see(route('cms.articles.edit', $articles->get(0)))->see(route('cms.articles.edit', $articles->get(1)))->dontSee(route('cms.articles.edit', $unPublishedArticle))->see('<th>Title</th>')->see('<td>' . $articles->get(0)->title . '</td>')->see('<td>' . $articles->get(1)->title . '</td>')->dontSee('<td>' . $unPublishedArticle->title . '</td>')->see('<th>Industry</th>')->see('<td>' . $articles->get(0)->industry->name . '</td>')->see('<td>' . $articles->get(1)->industry->name . '</td>')->dontSee('<td>' . $unPublishedArticle->industry->name . '</td>')->see('<th>Tags</th>')->see($tags->get(0)->name)->see($tags->get(1)->name)->see($tags->get(2)->name)->see($tags->get(3)->name)->dontSee($tags->get(4)->name)->dontSee($tags->get(5)->name)->see('<th>Author</th>')->see('<td>' . $articles->get(0)->author->name . '</td>')->see('<td>' . $articles->get(1)->author->name . '</td>')->dontSee('<td>' . $unPublishedArticle->author->name . '</td>')->see('<th>Created at / Updated at</th>')->see($articles->get(0)->created_at)->see($articles->get(0)->updated_at)->see($articles->get(1)->created_at)->see($articles->get(1)->updated_at)->dontSee($unPublishedArticle->created_at)->dontSee($unPublishedArticle->updated_at);
 }
 /** @test */
 public function it_assigns_tags_to_an_article()
 {
     $dbArticleRepository = new DbArticleRepository();
     $tags = factory(Tag::class, 2)->create();
     $article = factory(Article::class)->create();
     $expectedFirstTag = ['article_id' => $article->id, 'tag_id' => $tags->get(0)->id];
     $expectedSecondTag = ['article_id' => $article->id, 'tag_id' => $tags->get(1)->id];
     $this->dontSeeInDatabase('article_tag', $expectedFirstTag);
     $this->dontSeeInDatabase('article_tag', $expectedSecondTag);
     $this->assertNotFalse($dbArticleRepository->assignTags($article, [$tags->get(0)->id, $tags->get(1)->id]));
     $this->seeInDatabase('article_tag', $expectedFirstTag);
     $this->seeInDatabase('article_tag', $expectedSecondTag);
 }