summaryrefslogtreecommitdiffstats
path: root/tests/support
diff options
context:
space:
mode:
authorArnold Daniels <arnold@jasny.net>2016-11-20 00:05:28 +0100
committerArnold Daniels <arnold@jasny.net>2016-11-20 00:05:28 +0100
commit52b3eeb0f8be535d76aa76abe182c01279a45efd (patch)
tree198496503440a6a6240502aea6854b9d169afa07 /tests/support
parent6528ca8d1b058760da858f5c38aef20e5c1b4a22 (diff)
downloadcontroller-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.php10
-rw-r--r--tests/support/SessionController.php13
-rw-r--r--tests/support/TestHelper.php22
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();
}
}