From 7cd0629a75b2b70b5de1608d5171a6814088e2cc Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 22 Dec 2023 14:57:20 +0000 Subject: [PATCH] Input WYSIWYG: Updated exports to handle HTML descriptions --- resources/views/exports/book.blade.php | 2 +- resources/views/exports/chapter.blade.php | 2 +- .../exports/parts/chapter-item.blade.php | 2 +- tests/Entity/ExportTest.php | 28 +++++++++++++------ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/resources/views/exports/book.blade.php b/resources/views/exports/book.blade.php index 42e03ea01..9de7b8eba 100644 --- a/resources/views/exports/book.blade.php +++ b/resources/views/exports/book.blade.php @@ -5,7 +5,7 @@ @section('content')

{{$book->name}}

-

{{ $book->description }}

+
{!! $book->descriptionHtml() !!}
@include('exports.parts.book-contents-menu', ['children' => $bookChildren]) diff --git a/resources/views/exports/chapter.blade.php b/resources/views/exports/chapter.blade.php index ae49fa918..515366d60 100644 --- a/resources/views/exports/chapter.blade.php +++ b/resources/views/exports/chapter.blade.php @@ -5,7 +5,7 @@ @section('content')

{{$chapter->name}}

-

{{ $chapter->description }}

+
{!! $chapter->descriptionHtml() !!}
@include('exports.parts.chapter-contents-menu', ['pages' => $pages]) diff --git a/resources/views/exports/parts/chapter-item.blade.php b/resources/views/exports/parts/chapter-item.blade.php index f58068b5e..fa0b1f228 100644 --- a/resources/views/exports/parts/chapter-item.blade.php +++ b/resources/views/exports/parts/chapter-item.blade.php @@ -1,7 +1,7 @@

{{ $chapter->name }}

-

{{ $chapter->description }}

+
{!! $chapter->descriptionHtml() !!}
@if(count($chapter->visible_pages) > 0) @foreach($chapter->visible_pages as $page) diff --git a/tests/Entity/ExportTest.php b/tests/Entity/ExportTest.php index 08bf17d0a..eedcb672c 100644 --- a/tests/Entity/ExportTest.php +++ b/tests/Entity/ExportTest.php @@ -107,18 +107,18 @@ class ExportTest extends TestCase $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html"'); } - public function test_book_html_export_shows_chapter_descriptions() + public function test_book_html_export_shows_html_descriptions() { - $chapterDesc = 'My custom test chapter description ' . Str::random(12); - $chapter = $this->entities->chapter(); - $chapter->description = $chapterDesc; + $book = $this->entities->bookHasChaptersAndPages(); + $chapter = $book->chapters()->first(); + $book->description_html = '

A description with HTML within!

'; + $chapter->description_html = '

A chapter description with HTML within!

'; + $book->save(); $chapter->save(); - $book = $chapter->book; - $this->asEditor(); - - $resp = $this->get($book->getUrl('/export/html')); - $resp->assertSee($chapterDesc); + $resp = $this->asEditor()->get($book->getUrl('/export/html')); + $resp->assertSee($book->description_html, false); + $resp->assertSee($chapter->description_html, false); } public function test_chapter_text_export() @@ -174,6 +174,16 @@ class ExportTest extends TestCase $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html"'); } + public function test_chapter_html_export_shows_html_descriptions() + { + $chapter = $this->entities->chapter(); + $chapter->description_html = '

A description with HTML within!

'; + $chapter->save(); + + $resp = $this->asEditor()->get($chapter->getUrl('/export/html')); + $resp->assertSee($chapter->description_html, false); + } + public function test_page_html_export_contains_custom_head_if_set() { $page = $this->entities->page();