Update URL Command: Added revisions table support

For #5292
Added test to cover.
This commit is contained in:
Dan Brown 2024-11-08 11:22:30 +00:00
parent 8120278b8c
commit 7017a1cae5
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
2 changed files with 27 additions and 0 deletions

View 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;

View 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}")