diff --git a/app/Entities/Repos/PageRepo.php b/app/Entities/Repos/PageRepo.php index 2526b6c44..be139b050 100644 --- a/app/Entities/Repos/PageRepo.php +++ b/app/Entities/Repos/PageRepo.php @@ -77,7 +77,8 @@ class PageRepo $this->updateTemplateStatusAndContentFromInput($draft, $input); $this->baseRepo->update($draft, $input); - $this->revisionRepo->storeNewForPage($draft, trans('entities.pages_initial_revision')); + $summary = trim($input['summary'] ?? '') ?: trans('entities.pages_initial_revision'); + $this->revisionRepo->storeNewForPage($draft, $summary); $draft->refresh(); Activity::add(ActivityType::PAGE_CREATE, $draft); diff --git a/tests/Entity/PageTest.php b/tests/Entity/PageTest.php index daad82e76..b96d455eb 100644 --- a/tests/Entity/PageTest.php +++ b/tests/Entity/PageTest.php @@ -86,6 +86,32 @@ class PageTest extends TestCase $resp->assertSee('# a title'); } + public function test_page_creation_allows_summary_to_be_set() + { + $book = $this->entities->book(); + + $this->asEditor()->get($book->getUrl('/create-page')); + $draft = Page::query()->where('book_id', '=', $book->id) + ->where('draft', '=', true)->first(); + + $details = [ + 'html' => '

a title

', + 'name' => 'My page with summary', + 'summary' => 'Here is my changelog message for a new page!', + ]; + $resp = $this->post($book->getUrl("/draft/{$draft->id}"), $details); + $resp->assertRedirect(); + + $this->assertDatabaseHas('page_revisions', [ + 'page_id' => $draft->id, + 'summary' => 'Here is my changelog message for a new page!', + ]); + + $draft->refresh(); + $resp = $this->get($draft->getUrl('/revisions')); + $resp->assertSee('Here is my changelog message for a new page!'); + } + public function test_page_delete() { $page = $this->entities->page();