private function setupAppMocks($app, $mockRouter, $mockControllerResolver) { $sm = new ServiceManager(); $sm->setAllowOverride(true); $sm->set('Router', $mockRouter); $sm->set('ControllerResolver', $mockControllerResolver); $app->setServiceManager($sm); return $app; }
public function testDispatch() { $app = new AppForDispatchTest(array('environment' => 'test', 'debug' => true, 'rootDir' => __DIR__)); $mockRouter = $this->getMockBuilder('PPI\\Framework\\Router\\ChainRouter')->disableOriginalConstructor()->getMock(); $mockRouter->expects($this->once())->method('warmUp'); $mockRouter->expects($this->once())->method('matchRequest')->willReturn(array('_controller' => 'TestController')); $mockControllerResolver = $this->getMockBuilder('PPI\\Framework\\Module\\Controller\\ControllerResolver')->disableOriginalConstructor()->getMock(); $mockControllerResolver->expects($this->once())->method('getController')->willReturnCallback(function () { return function () { return new Response('Working Response'); }; }); $mockControllerResolver->expects($this->once())->method('getArguments')->willReturn(array()); $sm = new ServiceManager(); $sm->setAllowOverride(true); $sm->set('Router', $mockRouter); $sm->set('ControllerResolver', $mockControllerResolver); $app->setServiceManager($sm); $request = HttpRequest::createFromGlobals(); $response = new HttpResponse(); $response = $app->dispatch($request, $response); $this->assertInstanceOf('\\Symfony\\Component\\HttpFoundation\\Response', $response); $this->assertEquals($response->getContent(), 'Working Response'); }