X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/2385a6c29b7b9c03123def135d3c6e95febaf9dd..refs/pull/2023/head:/tests/Entity/ExportTest.php
diff --git a/tests/Entity/ExportTest.php b/tests/Entity/ExportTest.php
index 7fa485f20..5a94adac9 100644
--- a/tests/Entity/ExportTest.php
+++ b/tests/Entity/ExportTest.php
@@ -1,8 +1,11 @@
-get($page->getUrl('/export/plaintext'));
$resp->assertStatus(200);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt"');
}
public function test_page_pdf_export()
@@ -25,7 +28,7 @@ class ExportTest extends TestCase
$resp = $this->get($page->getUrl('/export/pdf'));
$resp->assertStatus(200);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf"');
}
public function test_page_html_export()
@@ -36,7 +39,7 @@ class ExportTest extends TestCase
$resp = $this->get($page->getUrl('/export/html'));
$resp->assertStatus(200);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html"');
}
public function test_book_text_export()
@@ -49,7 +52,7 @@ class ExportTest extends TestCase
$resp->assertStatus(200);
$resp->assertSee($book->name);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt"');
}
public function test_book_pdf_export()
@@ -60,7 +63,7 @@ class ExportTest extends TestCase
$resp = $this->get($book->getUrl('/export/pdf'));
$resp->assertStatus(200);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf"');
}
public function test_book_html_export()
@@ -73,7 +76,21 @@ class ExportTest extends TestCase
$resp->assertStatus(200);
$resp->assertSee($book->name);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html"');
+ }
+
+ public function test_book_html_export_shows_chapter_descriptions()
+ {
+ $chapterDesc = 'My custom test chapter description ' . Str::random(12);
+ $chapter = Chapter::query()->first();
+ $chapter->description = $chapterDesc;
+ $chapter->save();
+
+ $book = $chapter->book;
+ $this->asEditor();
+
+ $resp = $this->get($book->getUrl('/export/html'));
+ $resp->assertSee($chapterDesc);
}
public function test_chapter_text_export()
@@ -86,7 +103,7 @@ class ExportTest extends TestCase
$resp->assertStatus(200);
$resp->assertSee($chapter->name);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt"');
}
public function test_chapter_pdf_export()
@@ -96,7 +113,7 @@ class ExportTest extends TestCase
$resp = $this->get($chapter->getUrl('/export/pdf'));
$resp->assertStatus(200);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf"');
}
public function test_chapter_html_export()
@@ -109,7 +126,42 @@ class ExportTest extends TestCase
$resp->assertStatus(200);
$resp->assertSee($chapter->name);
$resp->assertSee($page->name);
- $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html');
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html"');
+ }
+
+ public function test_page_html_export_contains_custom_head_if_set()
+ {
+ $page = Page::first();
+
+ $customHeadContent = "";
+ $this->setSettings(['app-custom-head' => $customHeadContent]);
+
+ $resp = $this->asEditor()->get($page->getUrl('/export/html'));
+ $resp->assertSee($customHeadContent);
+ }
+
+ public function test_page_html_export_use_absolute_dates()
+ {
+ $page = Page::first();
+
+ $resp = $this->asEditor()->get($page->getUrl('/export/html'));
+ $resp->assertSee($page->created_at->toDayDateTimeString());
+ $resp->assertDontSee($page->created_at->diffForHumans());
+ $resp->assertSee($page->updated_at->toDayDateTimeString());
+ $resp->assertDontSee($page->updated_at->diffForHumans());
+ }
+
+ public function test_page_export_sets_right_data_type_for_svg_embeds()
+ {
+ $page = Page::first();
+ $page->html = '
';
+ $page->save();
+
+ $this->asEditor();
+ $this->mockHttpFetch('');
+ $resp = $this->get($page->getUrl('/export/html'));
+ $resp->assertStatus(200);
+ $resp->assertSee(';
}
}
\ No newline at end of file
)