From 4129dba08b4b02bbad57dfd236f173a72af66534 Mon Sep 17 00:00:00 2001 From: = Date: Sat, 26 Dec 2020 20:26:19 +1100 Subject: [PATCH 1/2] Test for HTML output for preview controller --- app/Http/Controllers/PreviewController.php | 6 +- app/Transformers/CompanyTransformer.php | 2 +- tests/Feature/PreviewTest.php | 86 ++++++++++++++++++++++ 3 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 tests/Feature/PreviewTest.php 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' => '
', + 'product' => '', + 'task' => '', + 'footer' => '' + ], + ], + 'is_custom' => 1, + ]; + + return $data; + } +} \ No newline at end of file From 0a9c66cab8eaae019ec4eb90c8e068196103e9d6 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 28 Dec 2020 08:58:49 +1100 Subject: [PATCH 2/2] Autoload snappdf in composer post hooks - add client number when importing --- app/Jobs/Import/CSVImport.php | 4 ++-- app/Repositories/ClientRepository.php | 4 ++-- composer.json | 6 ++++++ composer.lock | 26 +++++++++++++------------- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/app/Jobs/Import/CSVImport.php b/app/Jobs/Import/CSVImport.php index 391d160549ab..f8747b062ebe 100644 --- a/app/Jobs/Import/CSVImport.php +++ b/app/Jobs/Import/CSVImport.php @@ -98,7 +98,7 @@ class CSVImport implements ShouldQueue //sort the array by key ksort($this->column_map); - info("import".ucfirst($this->entity_type)); + nlog("import".ucfirst($this->entity_type)); $this->{"import".ucfirst($this->entity_type)}(); $data = [ @@ -110,7 +110,7 @@ class CSVImport implements ShouldQueue 'settings' => $this->company->settings ]; - info(print_r($data, 1)); + //info(print_r($data, 1)); MailRouter::dispatch(new ImportCompleted($data), $this->company, auth()->user()); } diff --git a/app/Repositories/ClientRepository.php b/app/Repositories/ClientRepository.php index 3bb7418eebab..eb8ab21fe1eb 100644 --- a/app/Repositories/ClientRepository.php +++ b/app/Repositories/ClientRepository.php @@ -59,8 +59,8 @@ class ClientRepository extends BaseRepository } $client->fill($data); - - if (!isset($client->id_number)) { + + if (!isset($client->id_number) || empty($client->id_number)) { $client->id_number = $this->getNextClientNumber($client); } diff --git a/composer.json b/composer.json index 2688ba426c6e..4a9f3123d634 100644 --- a/composer.json +++ b/composer.json @@ -102,6 +102,12 @@ } }, "scripts": { + "post-install-cmd": [ + "vendor/bin/snappdf download" + ], + "post-update-cmd": [ + "vendor/bin/snappdf download" + ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], diff --git a/composer.lock b/composer.lock index 305a63058120..4d4748da061f 100644 --- a/composer.lock +++ b/composer.lock @@ -116,16 +116,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.171.4", + "version": "3.171.6", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6a6b5b2e48ad18c2bfa48b7035e09d220d0e3984" + "reference": "5587d22e63ef82ef74dffca5d47f307b84137b51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6a6b5b2e48ad18c2bfa48b7035e09d220d0e3984", - "reference": "6a6b5b2e48ad18c2bfa48b7035e09d220d0e3984", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5587d22e63ef82ef74dffca5d47f307b84137b51", + "reference": "5587d22e63ef82ef74dffca5d47f307b84137b51", "shasum": "" }, "require": { @@ -200,9 +200,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.171.4" + "source": "https://github.com/aws/aws-sdk-php/tree/3.171.6" }, - "time": "2020-12-22T19:23:05+00:00" + "time": "2020-12-23T19:12:28+00:00" }, { "name": "beganovich/snappdf", @@ -10619,16 +10619,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.17.2", + "version": "v2.17.3", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "aaee4f3d16a996fc0b570be0c69d3b80c909c507" + "reference": "bd32f5dd72cdfc7b53f54077f980e144bfa2f595" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/aaee4f3d16a996fc0b570be0c69d3b80c909c507", - "reference": "aaee4f3d16a996fc0b570be0c69d3b80c909c507", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/bd32f5dd72cdfc7b53f54077f980e144bfa2f595", + "reference": "bd32f5dd72cdfc7b53f54077f980e144bfa2f595", "shasum": "" }, "require": { @@ -10654,7 +10654,7 @@ "justinrainbow/json-schema": "^5.0", "keradus/cli-executor": "^1.4", "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.4.1", + "php-coveralls/php-coveralls": "^2.4.2", "php-cs-fixer/accessible-object": "^1.0", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", @@ -10711,7 +10711,7 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.17.2" + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.17.3" }, "funding": [ { @@ -10719,7 +10719,7 @@ "type": "github" } ], - "time": "2020-12-17T16:41:55+00:00" + "time": "2020-12-24T11:14:44+00:00" }, { "name": "hamcrest/hamcrest-php",