[FrameworkBundle] Add tests for the Controller class
This commit is contained in:
parent
56624e6a9d
commit
ca56be1c8a
@ -39,4 +39,122 @@ class ControllerTest extends TestCase
|
|||||||
$response = $controller->forward('a_controller');
|
$response = $controller->forward('a_controller');
|
||||||
$this->assertEquals('xml--fr', $response->getContent());
|
$this->assertEquals('xml--fr', $response->getContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGenerateUrl()
|
||||||
|
{
|
||||||
|
$router = $this->getMock('Symfony\Component\Routing\RouterInterface');
|
||||||
|
$router->expects($this->once())->method('generate')->willReturn('/foo');
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($router));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals('/foo', $controller->generateUrl('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRedirect()
|
||||||
|
{
|
||||||
|
$controller = new Controller();
|
||||||
|
$response = $controller->redirect('http://dunglas.fr', 301);
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Symfony\Component\HttpFoundation\RedirectResponse', $response);
|
||||||
|
$this->assertSame('http://dunglas.fr', $response->getTargetUrl());
|
||||||
|
$this->assertSame(301, $response->getStatusCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRenderViewTemplating()
|
||||||
|
{
|
||||||
|
$templating = $this->getMock('Symfony\Bundle\FrameworkBundle\Templating\EngineInterface');
|
||||||
|
$templating->expects($this->once())->method('render')->willReturn('bar');
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($templating));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals('bar', $controller->renderView('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRenderTemplating()
|
||||||
|
{
|
||||||
|
$templating = $this->getMock('Symfony\Bundle\FrameworkBundle\Templating\EngineInterface');
|
||||||
|
$templating->expects($this->once())->method('renderResponse')->willReturn(new Response('bar'));
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($templating));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals('bar', $controller->render('foo')->getContent());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testStreamTemplating()
|
||||||
|
{
|
||||||
|
$templating = $this->getMock('Symfony\Component\Routing\RouterInterface');
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($templating));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $controller->stream('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreateNotFoundException()
|
||||||
|
{
|
||||||
|
$controller = new Controller();
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Symfony\Component\HttpKernel\Exception\NotFoundHttpException', $controller->createNotFoundException());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreateForm()
|
||||||
|
{
|
||||||
|
$form = $this->getMock('Symfony\Component\Form\FormInterface');
|
||||||
|
|
||||||
|
$formFactory = $this->getMock('Symfony\Component\Form\FormFactoryInterface');
|
||||||
|
$formFactory->expects($this->once())->method('create')->willReturn($form);
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($formFactory));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals($form, $controller->createForm('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreateFormBuilder()
|
||||||
|
{
|
||||||
|
$formBuilder = $this->getMock('Symfony\Component\Form\FormBuilderInterface');
|
||||||
|
|
||||||
|
$formFactory = $this->getMock('Symfony\Component\Form\FormFactoryInterface');
|
||||||
|
$formFactory->expects($this->once())->method('createBuilder')->willReturn($formBuilder);
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('get')->will($this->returnValue($formFactory));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals($formBuilder, $controller->createFormBuilder('foo'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetDoctrine()
|
||||||
|
{
|
||||||
|
$doctrine = $this->getMock('Doctrine\Common\Persistence\ManagerRegistry');
|
||||||
|
|
||||||
|
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
|
||||||
|
$container->expects($this->at(0))->method('has')->will($this->returnValue(true));
|
||||||
|
$container->expects($this->at(1))->method('get')->will($this->returnValue($doctrine));
|
||||||
|
|
||||||
|
$controller = new Controller();
|
||||||
|
$controller->setContainer($container);
|
||||||
|
|
||||||
|
$this->assertEquals($doctrine, $controller->getDoctrine());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user