Next major version 2 with PHP 8.1, Symfony 6, Tabler UI, 2FA ... (#2902)
This commit is contained in:
@@ -10,11 +10,11 @@
|
||||
namespace App\Tests\Invoice\Renderer;
|
||||
|
||||
use App\Invoice\Renderer\PdfRenderer;
|
||||
use App\Pdf\HtmlToPdfConverter;
|
||||
use App\Pdf\MPdfConverter;
|
||||
use App\Tests\Mocks\FileHelperFactory;
|
||||
use App\Utils\MPdfConverter;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
|
||||
use Twig\Environment;
|
||||
use Twig\Loader\ArrayLoader;
|
||||
use Twig\Loader\FilesystemLoader;
|
||||
@@ -28,27 +28,14 @@ class PdfRendererTest extends KernelTestCase
|
||||
{
|
||||
use RendererTestTrait;
|
||||
|
||||
public function testDisposition()
|
||||
{
|
||||
$env = new Environment(new ArrayLoader([]));
|
||||
$sut = new PdfRenderer($env, $this->createMock(MPdfConverter::class));
|
||||
$this->assertEquals(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $sut->getDisposition());
|
||||
$sut->setDispositionInline(false);
|
||||
$this->assertEquals(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $sut->getDisposition());
|
||||
$sut->setDispositionInline(true);
|
||||
$this->assertEquals(ResponseHeaderBag::DISPOSITION_INLINE, $sut->getDisposition());
|
||||
$sut->setDispositionInline(false);
|
||||
$this->assertEquals(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $sut->getDisposition());
|
||||
}
|
||||
|
||||
public function testSupports()
|
||||
{
|
||||
$env = new Environment(new ArrayLoader([]));
|
||||
$sut = new PdfRenderer($env, $this->createMock(MPdfConverter::class));
|
||||
$sut = new PdfRenderer($env, $this->createMock(HtmlToPdfConverter::class));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('default.pdf.twig', true)));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('freelancer.pdf.twig')));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
@@ -57,8 +44,8 @@ class PdfRendererTest extends KernelTestCase
|
||||
{
|
||||
$kernel = self::bootKernel();
|
||||
/** @var Environment $twig */
|
||||
$twig = $kernel->getContainer()->get('twig');
|
||||
$stack = $kernel->getContainer()->get('request_stack');
|
||||
$twig = self::getContainer()->get('twig');
|
||||
$stack = self::getContainer()->get('request_stack');
|
||||
$cacheDir = $kernel->getContainer()->getParameter('kernel.cache_dir');
|
||||
|
||||
$request = new Request();
|
||||
@@ -75,5 +62,11 @@ class PdfRendererTest extends KernelTestCase
|
||||
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertEquals('application/pdf', $response->headers->get('Content-Type'));
|
||||
$this->assertStringContainsString('attachment; filename', $response->headers->get('Content-Disposition'));
|
||||
$this->assertNotEmpty($response->getContent());
|
||||
|
||||
$sut->setDispositionInline(true);
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertStringContainsString('inline; filename', $response->headers->get('Content-Disposition'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user