diff options
author | Arnold Daniels <arnold@jasny.net> | 2016-11-20 00:05:28 +0100 |
---|---|---|
committer | Arnold Daniels <arnold@jasny.net> | 2016-11-20 00:05:28 +0100 |
commit | 52b3eeb0f8be535d76aa76abe182c01279a45efd (patch) | |
tree | 198496503440a6a6240502aea6854b9d169afa07 /tests/support | |
parent | 6528ca8d1b058760da858f5c38aef20e5c1b4a22 (diff) | |
download | controller-52b3eeb0f8be535d76aa76abe182c01279a45efd.zip controller-52b3eeb0f8be535d76aa76abe182c01279a45efd.tar.gz controller-52b3eeb0f8be535d76aa76abe182c01279a45efd.tar.bz2 |
Tests and fixes for RouteAction
Diffstat (limited to 'tests/support')
-rw-r--r-- | tests/support/RouteActionController.php | 10 | ||||
-rw-r--r-- | tests/support/SessionController.php | 13 | ||||
-rw-r--r-- | tests/support/TestHelper.php | 22 |
3 files changed, 28 insertions, 17 deletions
diff --git a/tests/support/RouteActionController.php b/tests/support/RouteActionController.php index 66625a9..24be3bf 100644 --- a/tests/support/RouteActionController.php +++ b/tests/support/RouteActionController.php @@ -7,7 +7,15 @@ use Jasny\Controller; /** * Class for testing 'RouteAction' trait */ -class RouteActionController extends Controller +abstract class RouteActionController { use Controller\RouteAction; + + public function defaultAction($foo, $bar = null) + { + } + + public function runTestAction() + { + } } diff --git a/tests/support/SessionController.php b/tests/support/SessionController.php deleted file mode 100644 index 6758419..0000000 --- a/tests/support/SessionController.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -namespace Jasny\Controller; - -use Jasny\Controller; - -/** - * Class for testing 'Session' trait - */ -abstract class SessionController extends Controller -{ - use Controller\Session; -} diff --git a/tests/support/TestHelper.php b/tests/support/TestHelper.php index 8f4d2f9..8f7dff4 100644 --- a/tests/support/TestHelper.php +++ b/tests/support/TestHelper.php @@ -10,6 +10,15 @@ use Jasny\Controller; trait TestHelper { /** + * Returns a builder object to create mock objects using a fluent interface. + * + * @param string $className + * + * @return \PHPUnit_Framework_MockObject_MockBuilder + */ + abstract public function getMockBuilder($className); + + /** * Get the controller class * * @return string @@ -25,13 +34,20 @@ trait TestHelper * @param array $methods Methods to mock * @return Controller|\PHPUnit_Framework_MockObject_MockObject */ - public function getController($methods = []) + public function getController($methods = [], $mockClassName = null) { - $builder = $this->getMockBuilder($this->getControllerClass())->disableOriginalConstructor(); + $class = $this->getControllerClass(); + + $builder = $this->getMockBuilder($class)->disableOriginalConstructor(); if ($methods) { $builder->setMethods($methods); } - return $builder->getMockForAbstractClass(); + if (isset($mockClassName)) { + $builder->setMockClassName($mockClassName); + } + + $getMock = trait_exists($class) ? 'getMockForTrait' : 'getMockForAbstractClass'; + return $builder->$getMock(); } } |