diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index f93ada1b021c..5e3adf272517 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -125,7 +125,7 @@ class PreviewController extends BaseController ->design($design) ->build(); - if (request()->query('html') == true) { + if (request()->query('html') == 'true') { return $maker->getCompiledHTML; } @@ -209,6 +209,10 @@ class PreviewController extends BaseController ->design($design) ->build(); + if (request()->query('html') == 'true') { + return $maker->getCompiledHTML(); + } + if (config('ninja.phantomjs_pdf_generation')) { return (new Phantom)->convertHtmlToPdf($maker->getCompiledHTML(true)); } diff --git a/app/Transformers/CompanyTransformer.php b/app/Transformers/CompanyTransformer.php index b805aae2561f..54b653e8c41f 100644 --- a/app/Transformers/CompanyTransformer.php +++ b/app/Transformers/CompanyTransformer.php @@ -351,4 +351,4 @@ class CompanyTransformer extends EntityTransformer return $this->includeCollection($company->system_logs, $transformer, SystemLog::class); } -} +} \ No newline at end of file diff --git a/tests/Feature/PreviewTest.php b/tests/Feature/PreviewTest.php new file mode 100644 index 000000000000..c41999595c10 --- /dev/null +++ b/tests/Feature/PreviewTest.php @@ -0,0 +1,86 @@ +makeTestData(); + + $this->withoutMiddleware( + ThrottleRequests::class + ); + } + + public function testPreviewRoute() + { + $data = $this->getData(); + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/preview/', $data); + + $response->assertStatus(200); + } + + public function testPreviewHtmlResponse() + { + $data = $this->getData(); + + $response = $this->withHeaders([ + 'X-API-SECRET' => config('ninja.api_secret'), + 'X-API-TOKEN' => $this->token, + ])->post('/api/v1/preview?html=true', $data); + + $response->assertStatus(200); + + } + + + private function getData() + { + $data = + [ + 'entity_type' => 'invoice', + 'entity_id' => '', + 'design' => [ + 'name' => '', + 'design' => [ + 'includes' => '', + 'header' => '
', + 'body' => '