]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageDraftTest.php
Fixed local_secure_restricted preventing attachment uploads
[bookstack] / tests / Entity / PageDraftTest.php
index 0b44e5f0b8eaa7d252619c5c886f241c9d02903a..6fd9a7f7017ebd13a13a68413ecb8e3563cf8bc1 100644 (file)
@@ -204,4 +204,32 @@ class PageDraftTest extends TestCase
         $draft->refresh();
         $this->assertStringContainsString('href="https://example.com"', $draft->html);
     }
+
+    public function test_slug_generated_on_draft_publish_to_page_when_no_name_change()
+    {
+        /** @var Book $book */
+        $book = Book::query()->first();
+        $this->asEditor()->get($book->getUrl('/create-page'));
+        /** @var Page $draft */
+        $draft = Page::query()->where('draft', '=', true)->where('book_id', '=', $book->id)->firstOrFail();
+
+        $this->put('/ajax/page/' . $draft->id . '/save-draft', [
+            'name'     => 'My page',
+            'markdown' => "Update test",
+        ])->assertOk();
+
+        $draft->refresh();
+        $this->assertEmpty($draft->slug);
+
+        $this->post($draft->getUrl(), [
+            'name'     => 'My page',
+            'markdown' => "# My markdown page"
+        ]);
+
+        $this->assertDatabaseHas('pages', [
+            'id'    => $draft->id,
+            'draft' => false,
+            'slug'  => 'my-page',
+        ]);
+    }
 }