summaryrefslogtreecommitdiff
path: root/tests/app/Module/DescendancyReportModuleTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/app/Module/DescendancyReportModuleTest.php')
-rw-r--r--tests/app/Module/DescendancyReportModuleTest.php37
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);
}
}