diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2017-09-19 23:55:24 +0200 |
---|---|---|
committer | Igor Scheller <igor.scheller@igorshp.de> | 2017-09-19 23:55:24 +0200 |
commit | 1e267ce3b133299f82661a37d82c0f50e8575e1e (patch) | |
tree | b91dc4f15f3fa69fbb101b0579b539f71c9a0d51 /tests/Unit/Renderer/RendererTest.php | |
parent | 2cb636b651c889243919d99eda8fa724d5c08392 (diff) |
Added Renderer unit test
Diffstat (limited to 'tests/Unit/Renderer/RendererTest.php')
-rw-r--r-- | tests/Unit/Renderer/RendererTest.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/Unit/Renderer/RendererTest.php b/tests/Unit/Renderer/RendererTest.php new file mode 100644 index 00000000..b0238078 --- /dev/null +++ b/tests/Unit/Renderer/RendererTest.php @@ -0,0 +1,55 @@ +<?php + +namespace Engelsystem\Test\Config; + +use Engelsystem\Renderer\EngineInterface; +use Engelsystem\Renderer\Renderer; +use PHPUnit\Framework\TestCase; +use Psr\Log\LoggerInterface; + +class RendererTest extends TestCase +{ + public function testGet() + { + $renderer = new Renderer(); + + $nullRenderer = $this->getMockForAbstractClass(EngineInterface::class); + + $nullRenderer->expects($this->atLeastOnce()) + ->method('canRender') + ->willReturn(false); + $renderer->addRenderer($nullRenderer); + + $mockRenderer = $this->getMockForAbstractClass(EngineInterface::class); + + $mockRenderer->expects($this->atLeastOnce()) + ->method('canRender') + ->with('foo.template') + ->willReturn(true); + + $mockRenderer->expects($this->atLeastOnce()) + ->method('get') + ->with('foo.template', ['lorem' => 'ipsum']) + ->willReturn('Rendered content'); + + $renderer->addRenderer($mockRenderer); + $data = $renderer->render('foo.template', ['lorem' => 'ipsum']); + + $this->assertEquals('Rendered content', $data); + } + + public function testError() + { + $renderer = new Renderer(); + + $loggerMock = $this->getMockForAbstractClass(LoggerInterface::class); + $loggerMock + ->expects($this->once()) + ->method('error'); + + $renderer->setLogger($loggerMock); + + $data = $renderer->render('testing.template'); + $this->assertEquals('', $data); + } +} |