/** * @covers PPI\Framework\ServiceManager::resolveAlias */ public function testSetCircularAliasReferenceThrowsException() { $this->setExpectedException('Zend\\ServiceManager\\Exception\\CircularReferenceException'); // Only affects service managers that allow overwriting definitions $this->serviceManager->setAllowOverride(true); $this->serviceManager->setInvokableClass('foo-service', 'stdClass'); $this->serviceManager->setAlias('foo-alias', 'foo-service'); $this->serviceManager->setAlias('bar-alias', 'foo-alias'); $this->serviceManager->setAlias('baz-alias', 'bar-alias'); // This will now cause a cyclic reference and should throw an exception $this->serviceManager->setAlias('foo-alias', 'bar-alias'); }
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'); }