1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-11 05:32:39 +01:00
invoiceninja/tests/Pdf/PdfGenerationTest.php

131 lines
3.7 KiB
PHP
Raw Normal View History

2019-05-04 05:14:37 +02:00
<?php
2020-09-14 13:11:46 +02:00
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
2019-05-04 05:14:37 +02:00
namespace Tests\Pdf;
use Spatie\Browsershot\Browsershot;
use Tests\TestCase;
/**
* @test
//@covers App\DataMapper\BaseSettings
*/
class PdfGenerationTest extends TestCase
{
public function setUp() :void
{
parent::setUp();
}
private function makePdf($header, $footer, $html, $pdf)
{
Browsershot::html($html)
->setNodeBinary(config('ninja.system.node_path'))
->setNpmBinary(config('ninja.system.npm_path'))
//->showBrowserHeaderAndFooter()
//->headerHtml($header)
//->footerHtml($footer)
->waitUntilNetworkIdle()
//->margins(10,10,10,10)
->noSandbox()
->savePdf($pdf);
}
public function testPdfGeneration()
{
$html = file_get_contents(base_path().'/tests/Pdf/invoice.html');
$pdf = base_path().'/tests/Pdf/invoice.pdf';
$header = '<div style="font-size:14px;"<header></header>';
$footer = ' <div style="font-size:14px;"><footer>
2019-05-04 08:55:19 +02:00
<span class="pageNumber"></span> / <span class="totalPages"></span>
</footer></div>';
$this->makePdf($header, $footer, $html, $pdf);
2019-05-04 08:55:19 +02:00
$this->assertTrue(file_exists($pdf));
2019-05-04 08:55:19 +02:00
unlink($pdf);
}
2019-05-04 08:55:19 +02:00
public function testPdfGeneration2()
{
$html = file_get_contents(base_path().'/tests/Pdf/invoice2.html');
$pdf = base_path().'/tests/Pdf/invoice2.pdf';
2019-05-04 08:55:19 +02:00
$header = '<div style="font-size:14px;"<header></header>';
2019-05-04 08:55:19 +02:00
$footer = ' <div style="font-size:14px;"><footer>
2019-05-04 08:55:19 +02:00
<span class="pageNumber"></span> / <span class="totalPages"></span>
</footer></div>';
$this->makePdf($header, $footer, $html, $pdf);
2019-05-04 08:55:19 +02:00
$this->assertTrue(file_exists($pdf));
2019-05-04 05:14:37 +02:00
unlink($pdf);
}
2019-05-04 08:55:19 +02:00
public function testPdfGeneration3()
{
$html = file_get_contents(base_path().'/tests/Pdf/invoice3.html');
$pdf = base_path().'/tests/Pdf/invoice3.pdf';
2019-05-04 08:55:19 +02:00
$header = '<div style="font-size:14px;"<header></header>';
2019-05-04 08:55:19 +02:00
$footer = ' <div style="font-size:14px;"><footer>
2019-05-04 08:55:19 +02:00
<span class="pageNumber"></span> / <span class="totalPages"></span>
</footer></div>';
$this->makePdf($header, $footer, $html, $pdf);
2019-05-04 08:55:19 +02:00
$this->assertTrue(file_exists($pdf));
2019-05-04 08:55:19 +02:00
unlink($pdf);
}
2019-05-04 08:55:19 +02:00
public function testPdfGeneration4()
{
$html = file_get_contents(base_path().'/tests/Pdf/invoice4.html');
$pdf = base_path().'/tests/Pdf/invoice4.pdf';
2019-05-04 08:55:19 +02:00
$header = '<div style="font-size:14px;"<header></header>';
2019-05-04 08:55:19 +02:00
$footer = ' <div style="font-size:14px;"><footer>
2019-05-04 08:55:19 +02:00
<span class="pageNumber"></span> / <span class="totalPages"></span>
</footer></div>';
$this->makePdf($header, $footer, $html, $pdf);
2019-05-04 08:55:19 +02:00
$this->assertTrue(file_exists($pdf));
2019-05-04 08:55:19 +02:00
unlink($pdf);
}
2019-05-04 08:55:19 +02:00
public function testPdfGeneration5()
{
$html = file_get_contents(base_path().'/tests/Pdf/invoice5.html');
$pdf = base_path().'/tests/Pdf/invoice5.pdf';
2019-05-04 08:55:19 +02:00
$header = '<div style="font-size:14px;"<header></header>';
2019-05-04 08:55:19 +02:00
$footer = ' <div style="font-size:14px;"><footer>
2019-05-04 08:55:19 +02:00
<span class="pageNumber"></span> / <span class="totalPages"></span>
</footer></div>';
$this->makePdf($header, $footer, $html, $pdf);
2019-05-04 08:55:19 +02:00
$this->assertTrue(file_exists($pdf));
2019-05-04 08:55:19 +02:00
unlink($pdf);
}
2019-05-04 05:14:37 +02:00
}