From 3af07addf6742454f2f984dac24147e2fe65fde3 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Tue, 12 Dec 2023 15:59:12 +0000 Subject: [PATCH] Default templates: Fixed syntax for php8.0, added test Null accessor is akward in php8.0 and throws warnings, so removed. Added test to check template assingment handling on page delete. --- resources/views/books/parts/form.blade.php | 2 +- tests/Entity/BookDefaultTemplateTest.php | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/resources/views/books/parts/form.blade.php b/resources/views/books/parts/form.blade.php index 973bae987..e22be619d 100644 --- a/resources/views/books/parts/form.blade.php +++ b/resources/views/books/parts/form.blade.php @@ -49,7 +49,7 @@ @include('form.page-picker', [ 'name' => 'default_template_id', 'placeholder' => trans('entities.books_default_template_select'), - 'value' => $book?->default_template_id ?? null, + 'value' => $book->default_template_id ?? null, ]) diff --git a/tests/Entity/BookDefaultTemplateTest.php b/tests/Entity/BookDefaultTemplateTest.php index f23ba4a8e..d4cd5b2c3 100644 --- a/tests/Entity/BookDefaultTemplateTest.php +++ b/tests/Entity/BookDefaultTemplateTest.php @@ -159,6 +159,21 @@ class BookDefaultTemplateTest extends TestCase $this->assertEquals('', $latestPage->markdown); } + public function test_template_page_delete_removes_book_template_usage() + { + $templatePage = $this->entities->templatePage(); + $book = $this->bookUsingDefaultTemplate($templatePage); + + $book->refresh(); + $this->assertEquals($templatePage->id, $book->default_template_id); + + $this->asEditor()->delete($templatePage->getUrl()); + $this->asAdmin()->post('/settings/recycle-bin/empty'); + + $book->refresh(); + $this->assertEquals(null, $book->default_template_id); + } + protected function bookUsingDefaultTemplate(Page $page): Book { $book = $this->entities->book();