Skip to content
Snippets Groups Projects
Verified Commit c9d6e3ee authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

tests: namespace tests, add new tests

parent 8330903c
No related branches found
No related tags found
1 merge request!7Draft: tests: improve tests organization
Pipeline #258866 passed
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
"autoload": { "autoload": {
"psr-4": {"WPDesk\\View\\": "src/"} "psr-4": {"WPDesk\\View\\": "src/"}
}, },
"autoload-dev": {
"psr-4": {"WPDesk\\View\\Tests\\": "tests/"}
},
"scripts": { "scripts": {
"test": "phpunit", "test": "phpunit",
"phpcs": "phpcs" "phpcs": "phpcs"
......
Hello World!
This is a content of nested template: <?php $this->output_render('child-template'); ?>
File moved
<?php <?php
namespace WPDesk\View\Tests;
use WPDesk\View\Resolver\ChainResolver; use WPDesk\View\Resolver\ChainResolver;
use WPDesk\View\Resolver\DirResolver;
use WPDesk\View\Resolver\Exception\CanNotResolve; use WPDesk\View\Resolver\Exception\CanNotResolve;
use WPDesk\View\Resolver\NullResolver; use WPDesk\View\Resolver\NullResolver;
...@@ -12,9 +15,23 @@ class TestSimplePhpRenderer extends \PHPUnit\Framework\TestCase ...@@ -12,9 +15,23 @@ class TestSimplePhpRenderer extends \PHPUnit\Framework\TestCase
const TEMPLATE_DIR = '/templates'; const TEMPLATE_DIR = '/templates';
public function testThrowsExceptionWhenCannotFindTemplate()
{
$this->expectException(CanNotResolve::class);
$renderer = new \WPDesk\View\Renderer\SimplePhpRenderer(new DirResolver(''));
$renderer->render('anything');
}
public function testRenderWithDirResolver() public function testRenderWithDirResolver()
{ {
$renderer = new \WPDesk\View\Renderer\SimplePhpRenderer(new \WPDesk\View\Resolver\DirResolver(__DIR__ . self::TEMPLATE_DIR)); $renderer = new \WPDesk\View\Renderer\SimplePhpRenderer(new DirResolver(__DIR__ . self::TEMPLATE_DIR));
$this->assertEquals(self::TEXT_IN_TEMPLATE, $renderer->render(self::TEMPLATE_NAME)); $this->assertEquals(self::TEXT_IN_TEMPLATE, $renderer->render(self::TEMPLATE_NAME));
} }
public function testCanRenderNestedTemplates(): void
{
$renderer = new \WPDesk\View\Renderer\SimplePhpRenderer(new DirResolver(__DIR__ . '/../Fixtures'));
$this->assertStringContainsString('This is a content of nested template: Hello World!', $renderer->render('root-template'));
}
} }
\ No newline at end of file
<?php <?php
namespace WPDesk\View\Tests;
use WPDesk\View\Resolver\ChainResolver; use WPDesk\View\Resolver\ChainResolver;
use WPDesk\View\Resolver\Exception\CanNotResolve; use WPDesk\View\Resolver\Exception\CanNotResolve;
use WPDesk\View\Resolver\NullResolver; use WPDesk\View\Resolver\NullResolver;
...@@ -22,7 +24,7 @@ class TestChainResolver extends \PHPUnit\Framework\TestCase ...@@ -22,7 +24,7 @@ class TestChainResolver extends \PHPUnit\Framework\TestCase
public function testUseSecondResolverWhenFirstFailed() public function testUseSecondResolverWhenFirstFailed()
{ {
$validResolver = Mockery::mock(NullResolver::class); $validResolver = \Mockery::mock(NullResolver::class);
$validResolver $validResolver
->shouldReceive(self::RESOLVE_METHOD_NAME) ->shouldReceive(self::RESOLVE_METHOD_NAME)
->andReturn(self::RESPONSE_OF_RESOLVER); ->andReturn(self::RESPONSE_OF_RESOLVER);
...@@ -33,7 +35,7 @@ class TestChainResolver extends \PHPUnit\Framework\TestCase ...@@ -33,7 +35,7 @@ class TestChainResolver extends \PHPUnit\Framework\TestCase
public function testUseFirstResolverFirst() public function testUseFirstResolverFirst()
{ {
$validResolver = Mockery::mock(NullResolver::class); $validResolver = \Mockery::mock(NullResolver::class);
$validResolver $validResolver
->shouldReceive(self::RESOLVE_METHOD_NAME) ->shouldReceive(self::RESOLVE_METHOD_NAME)
->andReturn(self::RESPONSE_OF_RESOLVER); ->andReturn(self::RESPONSE_OF_RESOLVER);
......
<?php <?php
namespace WPDesk\View\Tests;
use WPDesk\View\Resolver\Exception\CanNotResolve; use WPDesk\View\Resolver\Exception\CanNotResolve;
......
<?php <?php
namespace WPDesk\View\Tests;
use WPDesk\View\Resolver\Exception\CanNotResolve; use WPDesk\View\Resolver\Exception\CanNotResolve;
......
<?php <?php
namespace WPDesk\View\Tests;
use WPDesk\View\PluginViewBuilder; use WPDesk\View\PluginViewBuilder;
...@@ -20,14 +21,14 @@ class TestPluginViewBuilder extends \PHPUnit\Framework\TestCase { ...@@ -20,14 +21,14 @@ class TestPluginViewBuilder extends \PHPUnit\Framework\TestCase {
} }
public function testCanRenderUsingDir() { public function testCanRenderUsingDir() {
$builder = new PluginViewBuilder( __DIR__ . '/stub', 'template' ); $builder = new PluginViewBuilder( __DIR__ . '/Fixtures', 'template' );
$renderer = $builder->createSimpleRenderer(); $renderer = $builder->createSimpleRenderer();
$val = 'val to render'; $val = 'val to render';
$args = [ 'singleArg' => $val ]; $args = [ 'singleArg' => $val ];
$content = $renderer->render( 'file', $args ); $content = $renderer->render( 'file', $args );
$this->assertRegExp( '/template content/', $content, 'Content from stub/template/file.php should be renderer' ); $this->assertRegExp( '/template content/', $content, 'Content from Fixtures/template/file.php should be renderer' );
$this->assertRegExp( "/{$val}/", $content, 'Content from stub/template/file.php should contain $val' ); $this->assertRegExp( "/{$val}/", $content, 'Content from Fixtures/template/file.php should contain $val' );
$contentUsingOtherMethod = $builder->loadTemplate( 'file', '.', $args ); $contentUsingOtherMethod = $builder->loadTemplate( 'file', '.', $args );
$this->assertEquals( $content, $contentUsingOtherMethod, $this->assertEquals( $content, $contentUsingOtherMethod,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment