]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageDraftTest.php
Update settings.php
[bookstack] / tests / Entity / PageDraftTest.php
index 233f300ee339a7fed34fb6eeb64c587c2006ee65..5c984940d32569ce3e0b5d1cdce60bef2bf9d1cb 100644 (file)
@@ -1,64 +1,71 @@
-<?php
+<?php namespace Tests\Entity;
 
+use BookStack\Entities\Repos\PageRepo;
+use Tests\BrowserKitTest;
 
-class PageDraftTest extends TestCase
+class PageDraftTest extends BrowserKitTest
 {
     protected $page;
-    protected $entityRepo;
 
-    public function setUp()
+    /**
+     * @var PageRepo
+     */
+    protected $pageRepo;
+
+    public function setUp(): void
     {
         parent::setUp();
-        $this->page = \BookStack\Page::first();
-        $this->entityRepo = app('\BookStack\Repos\EntityRepo');
+        $this->page = \BookStack\Entities\Page::first();
+        $this->pageRepo = app(PageRepo::class);
     }
 
     public function test_draft_content_shows_if_available()
     {
         $addedContent = '<p>test message content</p>';
-        $this->asAdmin()->visit($this->page->getUrl() . '/edit')
+        $this->asAdmin()->visit($this->page->getUrl('/edit'))
             ->dontSeeInField('html', $addedContent);
 
         $newContent = $this->page->html . $addedContent;
-        $this->entityRepo->updatePageDraft($this->page, ['html' => $newContent]);
-        $this->asAdmin()->visit($this->page->getUrl() . '/edit')
+        $this->pageRepo->updatePageDraft($this->page, ['html' => $newContent]);
+        $this->asAdmin()->visit($this->page->getUrl('/edit'))
             ->seeInField('html', $newContent);
     }
 
     public function test_draft_not_visible_by_others()
     {
         $addedContent = '<p>test message content</p>';
-        $this->asAdmin()->visit($this->page->getUrl() . '/edit')
+        $this->asAdmin()->visit($this->page->getUrl('/edit'))
             ->dontSeeInField('html', $addedContent);
 
         $newContent = $this->page->html . $addedContent;
         $newUser = $this->getEditor();
-        $this->entityRepo->updatePageDraft($this->page, ['html' => $newContent]);
-        $this->actingAs($newUser)->visit($this->page->getUrl() . '/edit')
+        $this->pageRepo->updatePageDraft($this->page, ['html' => $newContent]);
+
+        $this->actingAs($newUser)->visit($this->page->getUrl('/edit'))
             ->dontSeeInField('html', $newContent);
     }
 
     public function test_alert_message_shows_if_editing_draft()
     {
         $this->asAdmin();
-        $this->entityRepo->updatePageDraft($this->page, ['html' => 'test content']);
-        $this->asAdmin()->visit($this->page->getUrl() . '/edit')
+        $this->pageRepo->updatePageDraft($this->page, ['html' => 'test content']);
+        $this->asAdmin()->visit($this->page->getUrl('/edit'))
             ->see('You are currently editing a draft');
     }
 
     public function test_alert_message_shows_if_someone_else_editing()
     {
-        $nonEditedPage = \BookStack\Page::take(10)->get()->last();
+        $nonEditedPage = \BookStack\Entities\Page::take(10)->get()->last();
         $addedContent = '<p>test message content</p>';
-        $this->asAdmin()->visit($this->page->getUrl() . '/edit')
+        $this->asAdmin()->visit($this->page->getUrl('/edit'))
             ->dontSeeInField('html', $addedContent);
 
         $newContent = $this->page->html . $addedContent;
         $newUser = $this->getEditor();
-        $this->entityRepo->updatePageDraft($this->page, ['html' => $newContent]);
+        $this->pageRepo->updatePageDraft($this->page, ['html' => $newContent]);
 
         $this->actingAs($newUser)
-            ->visit($this->page->getUrl() . '/edit')
+            ->visit($this->page->getUrl('/edit'))
             ->see('Admin has started editing this page');
             $this->flushSession();
         $this->visit($nonEditedPage->getUrl() . '/edit')
@@ -67,31 +74,31 @@ class PageDraftTest extends TestCase
 
     public function test_draft_pages_show_on_homepage()
     {
-        $book = \BookStack\Book::first();
+        $book = \BookStack\Entities\Book::first();
         $this->asAdmin()->visit('/')
             ->dontSeeInElement('#recent-drafts', 'New Page')
-            ->visit($book->getUrl() . '/page/create')
+            ->visit($book->getUrl() . '/create-page')
             ->visit('/')
             ->seeInElement('#recent-drafts', 'New Page');
     }
 
     public function test_draft_pages_not_visible_by_others()
     {
-        $book = \BookStack\Book::first();
+        $book = \BookStack\Entities\Book::first();
         $chapter = $book->chapters->first();
         $newUser = $this->getEditor();
 
         $this->actingAs($newUser)->visit('/')
-            ->visit($book->getUrl() . '/page/create')
-            ->visit($chapter->getUrl() . '/create-page')
+            ->visit($book->getUrl('/create-page'))
+            ->visit($chapter->getUrl('/create-page'))
             ->visit($book->getUrl())
-            ->seeInElement('.page-list', 'New Page');
-        
+            ->seeInElement('.book-contents', 'New Page');
+
         $this->asAdmin()
             ->visit($book->getUrl())
-            ->dontSeeInElement('.page-list', 'New Page')
+            ->dontSeeInElement('.book-contents', 'New Page')
             ->visit($chapter->getUrl())
-            ->dontSeeInElement('.page-list', 'New Page');
+            ->dontSeeInElement('.book-contents', 'New Page');
     }
 
 }