]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageTest.php
Applied StyleCI changes, added php/larastan to attribution
[bookstack] / tests / Entity / PageTest.php
index 3fb847e42f230a12877e7348c57eed054c9bf47e..32459a84a691e2c2191ede504d5c65683df1d62f 100644 (file)
@@ -10,6 +10,33 @@ use Tests\TestCase;
 
 class PageTest extends TestCase
 {
+    public function test_create()
+    {
+        /** @var Chapter $chapter */
+        $chapter = Chapter::query()->first();
+        $page = Page::factory()->make([
+            'name' => 'My First Page',
+        ]);
+
+        $resp = $this->asEditor()->get($chapter->getUrl());
+        $resp->assertElementContains('a[href="' . $chapter->getUrl('/create-page') . '"]', 'New Page');
+
+        $resp = $this->get($chapter->getUrl('/create-page'));
+        /** @var Page $draftPage */
+        $draftPage = Page::query()
+            ->where('draft', '=', true)
+            ->orderBy('created_at', 'desc')
+            ->first();
+        $resp->assertRedirect($draftPage->getUrl());
+
+        $resp = $this->get($draftPage->getUrl());
+        $resp->assertElementContains('form[action="' . $draftPage->getUrl() . '"][method="POST"]', 'Save Page');
+
+        $resp = $this->post($draftPage->getUrl(), $draftPage->only('name', 'html'));
+        $draftPage->refresh();
+        $resp->assertRedirect($draftPage->getUrl());
+    }
+
     public function test_page_view_when_creator_is_deleted_but_owner_exists()
     {
         $page = Page::query()->first();
@@ -200,7 +227,7 @@ class PageTest extends TestCase
         // Need to save twice since revisions are not generated in seeder.
         $this->asAdmin()->put($page->getUrl(), [
             'name' => 'super test',
-            'html' => '<p></p>'
+            'html' => '<p></p>',
         ]);
 
         $page->refresh();
@@ -208,7 +235,7 @@ class PageTest extends TestCase
 
         $this->put($pageUrl, [
             'name' => 'super test page',
-            'html' => '<p></p>'
+            'html' => '<p></p>',
         ]);
 
         $this->get($pageUrl)
@@ -253,5 +280,4 @@ class PageTest extends TestCase
         $this->get('/')
             ->assertElementContains('#recently-updated-pages', $page->name);
     }
-
 }