Skip to content

Commit

Permalink
Complete test coverage for ZugferdVisualizer
Browse files Browse the repository at this point in the history
  • Loading branch information
ruff committed Sep 20, 2023
1 parent 44589c6 commit e10a9ce
Showing 1 changed file with 108 additions and 6 deletions.
114 changes: 108 additions & 6 deletions tests/testcases/VisualizerText.php
Original file line number Diff line number Diff line change
Expand Up @@ -168,45 +168,147 @@ public function testRenderMarkup(): void
$this->expectException(ZugferdVisualizerNoTemplateDefinedException::class);

$visualizer->renderMarkup();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderMarkupTemplateNotSet(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setRenderer(new ZugferdVisualizerDefaultRenderer());

$this->expectException(ZugferdVisualizerNoTemplateDefinedException::class);

$visualizer->renderMarkup();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderMarkupTemplateNotExists(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setRenderer(new ZugferdVisualizerDefaultRenderer());
$visualizer->setTemplate('/invalidpath/invalidfile.tmpl');

$this->expectException(ZugferdVisualizerNoTemplateNotExistsException::class);

$visualizer->renderMarkup();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderMarkupWithDefaultTemplate(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setDefaultTemplate();

$markup = $visualizer->renderMarkup();

$this->assertNotEmpty($markup);
$this->assertStringStartsWith('<html>', $markup);
$this->assertStringContainsString("<html>", $markup);
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdf
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderMarkupTemplateNotSet(): void
public function testRenderPdf(): void
{
$visualizer = new ZugferdVisualizer(static::$document);

$this->expectException(ZugferdVisualizerNoTemplateDefinedException::class);

$visualizer->renderPdf();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdf
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderPdfTemplateNotSet(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setRenderer(new ZugferdVisualizerDefaultRenderer());

$this->expectException(ZugferdVisualizerNoTemplateDefinedException::class);

$visualizer->renderMarkup();
$visualizer->renderPdf();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdf
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
*/
public function testRenderMarkupTemplateNotExists(): void
public function testRenderPdfTemplateNotExists(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setRenderer(new ZugferdVisualizerDefaultRenderer());
$visualizer->setTemplate('/invalidpath/invalidfile.tmpl');

$this->expectException(ZugferdVisualizerNoTemplateNotExistsException::class);

$visualizer->renderMarkup();
$visualizer->renderPdf();
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdf
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::instanciatePdfEngine
*/
public function testRenderPdfWithDefaultTemplate(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setDefaultTemplate();

$pdf = $visualizer->renderPdf();

$this->assertNotEmpty($pdf);
$this->assertStringStartsWith('%PDF-1.4', $pdf);
}

/**
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderMarkup
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdf
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::renderPdfFile
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testMustUseDefaultRenderer
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateIsSet
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::testTemplateExists
* @covers \horstoeko\zugferdvisualizer\ZugferdVisualizer::instanciatePdfEngine
*/
public function testRenderPdfFileWithDefaultTemplate(): void
{
$visualizer = new ZugferdVisualizer(static::$document);
$visualizer->setDefaultTemplate();

$toFilename = dirname(__FILE__) . "/invoice.pdf";

$this->registerFileForTestMethodTeardown($toFilename);

$visualizer->renderPdfFile($toFilename);

$this->assertTrue(file_exists($toFilename));
}
}

0 comments on commit e10a9ce

Please sign in to comment.