diff --git a/app/Entities/Page.php b/app/Entities/Page.php index d10786dda..32ba2981d 100644 --- a/app/Entities/Page.php +++ b/app/Entities/Page.php @@ -21,7 +21,7 @@ use Permissions; */ class Page extends BookChild { - protected $fillable = ['name', 'html', 'priority', 'markdown']; + protected $fillable = ['name', 'priority', 'markdown']; protected $simpleAttributes = ['name', 'id', 'slug']; diff --git a/app/Entities/Repos/PageRepo.php b/app/Entities/Repos/PageRepo.php index d92085a61..fc585b4df 100644 --- a/app/Entities/Repos/PageRepo.php +++ b/app/Entities/Repos/PageRepo.php @@ -180,12 +180,11 @@ class PageRepo $page->template = ($input['template'] === 'true'); } + $pageContent = new PageContent($page); + $pageContent->setNewHTML($input['html']); $this->baseRepo->update($page, $input); // Update with new details - $page->fill($input); - $pageContent = new PageContent($page); - $pageContent->setNewHTML($input['html']); $page->revision_count++; if (setting('app-editor') !== 'markdown') { diff --git a/tests/Entity/EntitySearchTest.php b/tests/Entity/EntitySearchTest.php index 72eb808dc..956e46c37 100644 --- a/tests/Entity/EntitySearchTest.php +++ b/tests/Entity/EntitySearchTest.php @@ -277,4 +277,20 @@ class EntitySearchTest extends TestCase $search->assertSee($expectedShelf->name); } } + + public function test_search_works_on_updated_page_content() + { + $page = Page::query()->first(); + $this->asEditor(); + + $update = $this->put($page->getUrl(), [ + 'name' => $page->name, + 'html' => '

dog pandabearmonster spaghetti

', + ]); + + $search = $this->asEditor()->get('/search?term=pandabearmonster'); + $search->assertStatus(200); + $search->assertSeeText($page->name); + $search->assertSee($page->getUrl()); + } }