+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html"');
+ }
+
+ public function test_chapter_text_export()
+ {
+ $chapter = Chapter::first();
+ $page = $chapter->pages[0];
+ $this->asEditor();
+
+ $resp = $this->get($chapter->getUrl('/export/plaintext'));
+ $resp->assertStatus(200);
+ $resp->assertSee($chapter->name);
+ $resp->assertSee($page->name);
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt"');
+ }
+
+ public function test_chapter_pdf_export()
+ {
+ $chapter = Chapter::first();
+ $this->asEditor();
+
+ $resp = $this->get($chapter->getUrl('/export/pdf'));
+ $resp->assertStatus(200);
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf"');
+ }
+
+ public function test_chapter_html_export()
+ {
+ $chapter = Chapter::first();
+ $page = $chapter->pages[0];
+ $this->asEditor();
+
+ $resp = $this->get($chapter->getUrl('/export/html'));
+ $resp->assertStatus(200);
+ $resp->assertSee($chapter->name);
+ $resp->assertSee($page->name);
+ $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html"');
+ }
+
+ public function test_page_html_export_contains_custom_head_if_set()
+ {
+ $page = Page::first();
+
+ $customHeadContent = "<style>p{color: red;}</style>";
+ $this->setSettings(['app-custom-head' => $customHeadContent]);
+
+ $resp = $this->asEditor()->get($page->getUrl('/export/html'));
+ $resp->assertSee($customHeadContent);