public function testSetRoute() { $routeName = 'users'; $view = View::createRouteRedirect($routeName, array(), Codes::HTTP_CREATED); $this->assertAttributeEquals($routeName, 'route', $view); $this->assertAttributeEquals(null, 'location', $view); $this->assertEquals(Codes::HTTP_CREATED, $view->getResponse()->getStatusCode()); $view->setLocation($routeName); $this->assertAttributeEquals($routeName, 'location', $view); $this->assertAttributeEquals(null, 'route', $view); $view = new View(); $route = 'route'; $view->setRoute($route); $this->assertEquals($route, $view->getRoute()); }
public function testCreateResponseWithRoute() { $container = $this->getMock('Symfony\\Component\\DependencyInjection\\Container', array('get')); $doRoute = function ($name, $parameters) { $route = '/'; foreach ($parameters as $name => $value) { $route .= sprintf('%s/%s/', $name, $value); } return $route; }; $router = $this->getMockBuilder('Symfony\\Component\\Routing\\RouterInterface')->getMock(); $router->expects($this->any())->method('generate')->will($this->returnCallback($doRoute)); $container->expects($this->any())->method('get')->with('fos_rest.router')->will($this->returnValue($router)); $viewHandler = new ViewHandler(array('json' => false)); $viewHandler->setContainer($container); $view = new View(); $view->setStatusCode(Codes::HTTP_CREATED); $view->setRoute('foo'); $view->setRouteParameters(array('id' => 2)); $returnedResponse = $viewHandler->createResponse($view, new Request(), 'json'); $this->assertEquals('/id/2/', $returnedResponse->headers->get('location')); }
public function testCreateResponseWithRoute() { $doRoute = function ($name, $parameters) { $route = '/'; foreach ($parameters as $name => $value) { $route .= sprintf('%s/%s/', $name, $value); } return $route; }; $this->router->expects($this->any())->method('generate')->will($this->returnCallback($doRoute)); $viewHandler = $this->createViewHandler(['json' => false]); $view = new View(); $view->setStatusCode(Response::HTTP_CREATED); $view->setRoute('foo'); $view->setRouteParameters(['id' => 2]); $returnedResponse = $viewHandler->createResponse($view, new Request(), 'json'); $this->assertEquals('/id/2/', $returnedResponse->headers->get('location')); }