From e1fa1b45403e9c680b40419a039bdd43e808a379 Mon Sep 17 00:00:00 2001 From: dyszczo <krzysiek@inspirelabs.pl> Date: Sun, 23 Sep 2018 22:39:42 +0200 Subject: [PATCH] fixed chain resolver tests --- tests/unit/Resolver/TestChainResolver.php | 57 +++++++++++------------ 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/tests/unit/Resolver/TestChainResolver.php b/tests/unit/Resolver/TestChainResolver.php index 708053a..22f56cb 100644 --- a/tests/unit/Resolver/TestChainResolver.php +++ b/tests/unit/Resolver/TestChainResolver.php @@ -1,55 +1,52 @@ <?php - +use WPDesk\View\Resolver\ChainResolver; use WPDesk\View\Resolver\Exception\CanNotResolve; +use WPDesk\View\Resolver\NullResolver; class TestChainResolver extends \PHPUnit\Framework\TestCase { - const RESPONSE_OF_FIRST_RESOLVER = 'first'; - const RESPONSE_OF_SECOND_RESOLVER = 'second'; + const RESPONSE_OF_RESOLVER = 'response'; const RESOLVE_METHOD_NAME = 'resolve'; + public function setUp() + { + \WP_Mock::setUp(); + } + + public function tearDown() + { + \WP_Mock::tearDown(); + } + public function testUseSecondResolverWhenFirstFailed() { - $firstResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andThrowExceptions([CanNotResolve::class]); - $secondResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andReturn(self::RESPONSE_OF_SECOND_RESOLVER); - - $resolver = new \WPDesk\View\Resolver\ChainResolver($firstResolver, $secondResolver); - $this->assertEquals(self::RESPONSE_OF_SECOND_RESOLVER, $resolver->resolver('whatever')); + $validResolver = Mockery::mock(NullResolver::class); + $validResolver + ->shouldReceive(self::RESOLVE_METHOD_NAME) + ->andReturn(self::RESPONSE_OF_RESOLVER); + + $resolver = new ChainResolver(new NullResolver(), new NullResolver(), $validResolver); + $this->assertEquals(self::RESPONSE_OF_RESOLVER, $resolver->resolve('whatever')); } public function testUseFirstResolverFirst() { - $firstResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andReturn(self::RESPONSE_OF_FIRST_RESOLVER); - - $secondResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andThrowExceptions([CanNotResolve::class]); + $validResolver = Mockery::mock(NullResolver::class); + $validResolver + ->shouldReceive(self::RESOLVE_METHOD_NAME) + ->andReturn(self::RESPONSE_OF_RESOLVER); - $resolver = new \WPDesk\View\Resolver\ChainResolver($firstResolver, $secondResolver); - $this->assertEquals(self::RESPONSE_OF_SECOND_RESOLVER, $resolver->resolver('whatever')); + $resolver = new ChainResolver($validResolver, new NullResolver(), new NullResolver()); + $this->assertEquals(self::RESPONSE_OF_RESOLVER, $resolver->resolve('whatever')); } public function testThrowExceptionWhenBothCannotFind() { $this->expectException(CanNotResolve::class); - $firstResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andThrowExceptions([CanNotResolve::class]); - - $secondResolver = Mockery::mock(\WPDesk\View\Resolver\Resolver::class) - ->shouldReceive(self::RESOLVE_METHOD_NAME) - ->andThrowExceptions([CanNotResolve::class]); - - $resolver = new \WPDesk\View\Resolver\ChainResolver($firstResolver, $secondResolver); + $resolver = new ChainResolver(new NullResolver(), new NullResolver()); $resolver->resolve('whatever2'); } -- GitLab