diff options
Diffstat (limited to 'tests/app/Module/DescendancyReportModuleTest.php')
| -rw-r--r-- | tests/app/Module/DescendancyReportModuleTest.php | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/tests/app/Module/DescendancyReportModuleTest.php b/tests/app/Module/DescendancyReportModuleTest.php index cec2a53849..d333ed66a4 100644 --- a/tests/app/Module/DescendancyReportModuleTest.php +++ b/tests/app/Module/DescendancyReportModuleTest.php @@ -17,18 +17,47 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; +use Fisharebest\Webtrees\Report\ReportHtml; +use Fisharebest\Webtrees\Report\ReportParserGenerate; +use Fisharebest\Webtrees\Report\ReportPdf; +use Fisharebest\Webtrees\Tree; + /** * Test harness for the class DescendancyReportModule + * + * @covers \Fisharebest\Webtrees\Report\ReportHtml + * @covers \Fisharebest\Webtrees\Report\ReportParserGenerate; + * @covers \Fisharebest\Webtrees\Report\ReportPdf; */ class DescendancyReportModuleTest extends \Fisharebest\Webtrees\TestCase { + protected static $uses_database = true; + /** - * Test that the class exists - * * @return void */ - public function testClassExists(): void + public function testReportRunsWithoutError(): void { - $this->assertTrue(class_exists('\Fisharebest\Webtrees\Module\DescendancyReportModule')); + $tree = $this->importTree('demo.ged'); + app()->instance(Tree::class, $tree); + $xml = WT_ROOT . 'resources/xml/reports/descendancy_report.xml'; + $vars = [ + 'pid' => ['id' => 'i1'], + 'maxgen' => ['id' => '3'], + 'sources' => ['id' => 'on'], + 'pageSize' => ['id' => 'A4'], + ]; + + ob_start(); + new ReportParserGenerate($xml, new ReportHtml(), $vars, $tree); + $html = ob_get_clean(); + $this->assertStringStartsWith('<', $html); + $this->assertStringEndsWith('>', $html); + + ob_start(); + new ReportParserGenerate($xml, new ReportPdf(), $vars, $tree); + $pdf = ob_get_clean(); + $this->assertStringStartsWith('%PDF', $pdf); + $this->assertStringEndsWith("%%EOF\n", $pdf); } } |
