X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/d29b177c8422075742ae22b200b84daa8c61c4b2..refs/pull/1695/head:/tests/Entity/EntityTest.php diff --git a/tests/Entity/EntityTest.php b/tests/Entity/EntityTest.php index a43f65b5e..a3fb1cfe1 100644 --- a/tests/Entity/EntityTest.php +++ b/tests/Entity/EntityTest.php @@ -1,10 +1,12 @@ click('Sort') ->seePageIs($bookToSort->getUrl() . '/sort') ->seeStatusCode(200) - ->see($bookToSort->name) - // Ensure page shows other books - ->see($books[1]->name); + ->see($bookToSort->name); } public function test_book_sort_item_returns_book_content() @@ -82,6 +82,27 @@ class EntityTest extends BrowserKitTest ->see($firstChapter->name); } + public function test_toggle_book_view() + { + $editor = $this->getEditor(); + setting()->putUser($editor, 'books_view_type', 'grid'); + + $this->actingAs($editor) + ->visit('/books') + ->pageHasElement('.featured-image-container') + ->submitForm('List View') + // Check redirection. + ->seePageIs('/books') + ->pageNotHasElement('.featured-image-container'); + + $this->actingAs($editor) + ->visit('/books') + ->submitForm('Grid View') + ->seePageIs('/books') + ->pageHasElement('.featured-image-container'); + + } + public function pageCreation($chapter) { $page = factory(Page::class)->make([ @@ -118,7 +139,7 @@ class EntityTest extends BrowserKitTest // Navigate to chapter create page ->visit($book->getUrl()) ->click('New Chapter') - ->seePageIs($book->getUrl() . '/chapter/create') + ->seePageIs($book->getUrl() . '/create-chapter') // Fill out form ->type($chapter->name, '#name') ->type($chapter->description, '#description') @@ -140,7 +161,7 @@ class EntityTest extends BrowserKitTest ->visit('/books') // Choose to create a book ->click('Create New Book') - ->seePageIs('/books/create') + ->seePageIs('/create-book') // Fill out form & save ->type($book->name, '#name') ->type($book->description, '#description') @@ -151,11 +172,11 @@ class EntityTest extends BrowserKitTest // Ensure duplicate names are given different slugs $this->asAdmin() - ->visit('/books/create') + ->visit('/create-book') ->type($book->name, '#name') ->type($book->description, '#description') ->press('Save Book'); - + $expectedPattern = '/\/books\/my-first-book-[0-9a-zA-Z]{3}/'; $this->assertRegExp($expectedPattern, $this->currentUri, "Did not land on expected page [$expectedPattern].\n"); @@ -171,7 +192,7 @@ class EntityTest extends BrowserKitTest $entities = $this->createEntityChainBelongingToUser($creator, $updater); $this->actingAs($creator); app(UserRepo::class)->destroy($creator); - app(EntityRepo::class)->savePageRevision($entities['page']); + app(PageRepo::class)->savePageRevision($entities['page']); $this->checkEntitiesViewable($entities); } @@ -184,7 +205,7 @@ class EntityTest extends BrowserKitTest $entities = $this->createEntityChainBelongingToUser($creator, $updater); $this->actingAs($updater); app(UserRepo::class)->destroy($updater); - app(EntityRepo::class)->savePageRevision($entities['page']); + app(PageRepo::class)->savePageRevision($entities['page']); $this->checkEntitiesViewable($entities); } @@ -201,15 +222,6 @@ class EntityTest extends BrowserKitTest ->click('Revisions')->seeStatusCode(200); } - public function test_recently_created_pages_view() - { - $user = $this->getEditor(); - $content = $this->createEntityChainBelongingToUser($user); - - $this->asAdmin()->visit('/pages/recently-created') - ->seeInNthElement('.entity-list .page', 0, $content['page']->name); - } - public function test_recently_updated_pages_view() { $user = $this->getEditor(); @@ -248,6 +260,9 @@ class EntityTest extends BrowserKitTest public function test_recently_updated_pages_on_home() { $page = Page::orderBy('updated_at', 'asc')->first(); + Page::where('id', '!=', $page->id)->update([ + 'updated_at' => Carbon::now()->subSecond(1) + ]); $this->asAdmin()->visit('/') ->dontSeeInElement('#recently-updated-pages', $page->name); $this->visit($page->getUrl() . '/edit')