summaryrefslogtreecommitdiff
path: root/tests/app/Module/IndividualReportModuleTest.php
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-03-14 23:12:58 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-03-15 12:35:14 +0000
commit9a3accd78795046143d5b995599032fcff82a467 (patch)
treed15b2760a2afb94a37b292a677a3770fc5c7563c /tests/app/Module/IndividualReportModuleTest.php
parentaf14d23858d0cfa8a319c6c50a5f28fbc7754829 (diff)
downloadwebtrees-9a3accd78795046143d5b995599032fcff82a467.tar.gz
webtrees-9a3accd78795046143d5b995599032fcff82a467.tar.bz2
webtrees-9a3accd78795046143d5b995599032fcff82a467.zip
Tests
Diffstat (limited to 'tests/app/Module/IndividualReportModuleTest.php')
-rw-r--r--tests/app/Module/IndividualReportModuleTest.php39
1 files changed, 35 insertions, 4 deletions
diff --git a/tests/app/Module/IndividualReportModuleTest.php b/tests/app/Module/IndividualReportModuleTest.php
index 5263c205d3..b2c440f3dd 100644
--- a/tests/app/Module/IndividualReportModuleTest.php
+++ b/tests/app/Module/IndividualReportModuleTest.php
@@ -17,18 +17,49 @@ 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 IndividualReportModule
+ *
+ * @covers \Fisharebest\Webtrees\Report\ReportHtml
+ * @covers \Fisharebest\Webtrees\Report\ReportParserGenerate;
+ * @covers \Fisharebest\Webtrees\Report\ReportPdf;
*/
class IndividualReportModuleTest 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\IndividualReportModule'));
+ $tree = $this->importTree('demo.ged');
+ app()->instance(Tree::class, $tree);
+ $xml = WT_ROOT . 'resources/xml/reports/individual_report.xml';
+ $vars = [
+ 'id' => ['id' => 'i1'],
+ 'sources' => ['id' => 'on'],
+ 'notes' => ['id' => 'on'],
+ 'photos' => ['id' => 'highlighted'],
+ 'colors' => ['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);
}
}