private function setUpControllerApp($env = array(), $withCache = false) { $this->setUpApp($env, $withCache); $dirControllerLoader = new \MABI\DirectoryControllerLoader('TestApp/TestControllerDir', $this->app, 'mabiTesting'); $this->controllerMock = $this->getMock('\\mabiTesting\\JustAController', array('post', 'getTestFunc', 'postTestFunc', 'putTestFunc', 'deleteTestFunc'), array($this->app), 'JustAController'); $controllerLoader = new \MABI\ControllerLoader(); $controllerLoader->setControllers(array($this->controllerMock)); $this->app->setControllerLoaders(array($controllerLoader)); }
private function setUpRESTApp($env = array(), $withCache = false) { $this->setUpApp($env, $withCache); $dirControllerLoader = new \MABI\DirectoryControllerLoader('TestApp/TestControllerDir', $this->app, 'mabiTesting'); $this->controllerMock = $this->getMock('\\mabiTesting\\ModelBController', array('restGetTestFunc', 'restPostTestFunc', 'restPutTestFunc', 'restDeleteTestFunc'), array($this->app), 'ModelBController'); // Set up modelClass and base fields in the mock controller $modelClass = 'mabiTesting\\ModelB'; $refObject = new \ReflectionObject($this->controllerMock); $refModelClassProperty = $refObject->getProperty('modelClass'); $refModelClassProperty->setAccessible(TRUE); $refModelClassProperty->setValue($this->controllerMock, $modelClass); $refModelProperty = $refObject->getProperty('model'); $refModelProperty->setAccessible(TRUE); $refModelProperty->setValue($this->controllerMock, call_user_func($modelClass . '::init', $this->app)); $refBaseProperty = $refObject->getProperty('base'); $refBaseProperty->setAccessible(TRUE); $refBaseProperty->setValue($this->controllerMock, strtolower(\MABI\ReflectionHelper::stripClassName($modelClass))); $controllerLoader = new \MABI\ControllerLoader(); $controllerLoader->setControllers(array($this->controllerMock)); $this->app->setControllerLoaders(array($controllerLoader, new \MABI\GeneratedRESTModelControllerLoader(array_diff($this->app->getExtensionModelClasses(), array($modelClass)), $this->app))); }