]> BookStack Code Mirror - bookstack/commitdiff
Update URL Command: Added revisions table support
authorDan Brown <redacted>
Fri, 8 Nov 2024 11:22:30 +0000 (11:22 +0000)
committerDan Brown <redacted>
Fri, 8 Nov 2024 11:22:30 +0000 (11:22 +0000)
For #5292
Added test to cover.

app/Console/Commands/UpdateUrlCommand.php
tests/Commands/UpdateUrlCommandTest.php

index 0c95b0a3c8a0e66e5cebf5a37969266ab37774b5..e155878d331b8a5f3661603dfa1994c4007e9e51 100644 (file)
@@ -49,6 +49,7 @@ class UpdateUrlCommand extends Command
             'chapters'    => ['description_html'],
             'books'       => ['description_html'],
             'bookshelves' => ['description_html'],
+            'page_revisions' => ['html', 'text', 'markdown'],
             'images'      => ['url'],
             'settings'    => ['value'],
             'comments'    => ['html', 'text'],
@@ -77,6 +78,12 @@ class UpdateUrlCommand extends Command
         $this->info('URL update procedure complete.');
         $this->info('============================================================================');
         $this->info('Be sure to run "php artisan cache:clear" to clear any old URLs in the cache.');
+
+        if (!str_starts_with($newUrl, url('/'))) {
+            $this->warn('You still need to update your APP_URL env value. This is currently set to:');
+            $this->warn(url('/'));
+        }
+
         $this->info('============================================================================');
 
         return 0;
index 62c39c2741f7321d45eed4667725a07b8019f123..1353cf803652e55e20056c9757966e082b3c75b8 100644 (file)
@@ -87,6 +87,26 @@ class UpdateUrlCommandTest extends TestCase
         $this->assertEquals('a https://cats.example.com/donkey/cat url', $settingVal[0]['name']);
     }
 
+    public function test_command_updates_page_revisions()
+    {
+        $page = $this->entities->page();
+
+        for ($i = 0; $i < 2; $i++) {
+            $this->entities->updatePage($page, [
+                'name' => $page->name,
+                'markdown' => "[A link {$i}](https://example.com/donkey/cat)"
+            ]);
+        }
+
+        $this->runUpdate('https://example.com', 'https://cats.example.com');
+        setting()->flushCache();
+
+        $this->assertDatabaseHas('page_revisions', [
+            'markdown' => '[A link 1](https://cats.example.com/donkey/cat)',
+            'html' => '<p id="bkmrk-a-link-1"><a href="https://cats.example.com/donkey/cat">A link 1</a></p>' . "\n"
+        ]);
+    }
+
     protected function runUpdate(string $oldUrl, string $newUrl)
     {
         $this->artisan("bookstack:update-url {$oldUrl} {$newUrl}")