]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/ChapterTest.php
Adjusted API docs table
[bookstack] / tests / Entity / ChapterTest.php
index e9350a32be1636a39ddeb7c5d374badd8a4f1724..ea29ece5d2c51db2633e13f2236e9e3e8af043c9 100644 (file)
@@ -1,11 +1,37 @@
-<?php namespace Tests\Entity;
+<?php
 
+namespace Tests\Entity;
+
+use BookStack\Entities\Models\Book;
 use BookStack\Entities\Models\Chapter;
 use Tests\TestCase;
 
 class ChapterTest extends TestCase
 {
-    public function test_chapter_delete()
+    public function test_create()
+    {
+        /** @var Book $book */
+        $book = Book::query()->first();
+
+        $chapter = factory(Chapter::class)->make([
+            'name' => 'My First Chapter',
+        ]);
+
+        $resp = $this->asEditor()->get($book->getUrl());
+        $resp->assertElementContains('a[href="' . $book->getUrl('/create-chapter') . '"]', 'New Chapter');
+
+        $resp = $this->get($book->getUrl('/create-chapter'));
+        $resp->assertElementContains('form[action="' . $book->getUrl('/create-chapter') . '"][method="POST"]', 'Save Chapter');
+
+        $resp = $this->post($book->getUrl('/create-chapter'), $chapter->only('name', 'description'));
+        $resp->assertRedirect($book->getUrl('/chapter/my-first-chapter'));
+
+        $resp = $this->get($book->getUrl('/chapter/my-first-chapter'));
+        $resp->assertSee($chapter->name);
+        $resp->assertSee($chapter->description);
+    }
+
+    public function test_delete()
     {
         $chapter = Chapter::query()->whereHas('pages')->first();
         $this->assertNull($chapter->deleted_at);
@@ -28,4 +54,4 @@ class ChapterTest extends TestCase
         $redirectReq = $this->get($deleteReq->baseResponse->headers->get('location'));
         $redirectReq->assertNotificationContains('Chapter Successfully Deleted');
     }
-}
\ No newline at end of file
+}