createApplication(); // clean tables ContentModel::getQuery() ->delete(); User::getQuery() ->delete(); $this->content = App::make(Content::class); // create new rows $this->user = factory(User::class)->create(); factory(ContentModel::class, 3)->create(['userId' => $this->user->id, 'status' => Content::STATUS_DRAFT]); factory(ContentModel::class, 1)->create(['userId' => $this->user->id, 'status' => Content::STATUS_PROTECTED]); factory(ContentModel::class, 5)->create(['userId' => $this->user->id, 'status' => Content::STATUS_PUBLIC]); } /** * Test for selecting homepage. * * At first, it tries to select non-existing homepage. On second try, homepage is created. */ public function testSelectingHomepage() { $homepage = $this->content->getHomepage(); $this->assertNull($homepage); $newHomepage = factory(ContentModel::class)->create([ 'userId' => $this->user->id, 'isHomepage' => 1, 'status' => Content::STATUS_PUBLIC, 'publishedFrom' => Carbon::now() ->subDays(10) ]); $homepage = $this->content->getHomepage(); $this->assertNotNull($homepage); $this->assertTrue($homepage->id === $newHomepage->id); } public function testSelectingAllPages() { $all = $this->content->all(); $this->assertCount(6, $all); } // public function testContentVisibilityByPublishedFrom() // { // } // // public function testContentVisibilityByPublishedTo() // { // } // // public function testSelectingByURL() // { // // } // // public function testSelectingById() // { // } // // public function testSelectingInvalidPageByURL() // { // } // // public function testSelectingInvalidPageById() // { // } // // public function testOverview() // { // } // // public function testOvervieWithOneStatus() // { // } // // public function testOverviewWithMultipleStatuses() // { // } }