]> BookStack Code Mirror - bookstack/blobdiff - tests/Entity/PageRevisionTest.php
Add base64 image support
[bookstack] / tests / Entity / PageRevisionTest.php
index 68a8f01a9ef347a362b545b7db633435bc26b33f..62fbfbf3140d46b1544b9af26fdb60e38a4c8f9b 100644 (file)
@@ -66,6 +66,36 @@ class PageRevisionTest extends TestCase
         $pageView->assertSee('def456');
     }
 
         $pageView->assertSee('def456');
     }
 
+    public function test_page_revision_restore_with_markdown_retains_markdown_content()
+    {
+        $this->asEditor();
+
+        $pageRepo = app(PageRepo::class);
+        $page = Page::first();
+        $pageRepo->update($page, ['name' => 'updated page abc123', 'markdown' => '## New Content def456', 'summary' => 'initial page revision testing']);
+        $pageRepo->update($page, ['name' => 'updated page again', 'markdown' => '## New Content Updated', 'summary' => 'page revision testing']);
+        $page = Page::find($page->id);
+
+        $pageView = $this->get($page->getUrl());
+        $pageView->assertDontSee('abc123');
+        $pageView->assertDontSee('def456');
+
+        $revToRestore = $page->revisions()->where('name', 'like', '%abc123')->first();
+        $restoreReq = $this->put($page->getUrl() . '/revisions/' . $revToRestore->id . '/restore');
+        $page = Page::find($page->id);
+
+        $restoreReq->assertStatus(302);
+        $restoreReq->assertRedirect($page->getUrl());
+
+        $pageView = $this->get($page->getUrl());
+        $this->assertDatabaseHas('pages', [
+            'id' => $page->id,
+            'markdown' => '## New Content def456',
+        ]);
+        $pageView->assertSee('abc123');
+        $pageView->assertSee('def456');
+    }
+
     public function test_page_revision_restore_sets_new_revision_with_summary()
     {
         $this->asEditor();
     public function test_page_revision_restore_sets_new_revision_with_summary()
     {
         $this->asEditor();