eZ\Bundle\EzPublishCoreBundle\Tests\EventListener\ViewControllerListenerTest::testGetControllerMatchedView PHP Method

testGetControllerMatchedView() public method

    public function testGetControllerMatchedView()
    {
        $id = 123;
        $viewType = 'full';
        $templateIdentifier = 'FooBundle:full:template.twig.html';
        $customController = 'FooBundle::bar';
        $this->request->attributes->add(array('_controller' => 'ez_content:viewLocation', 'locationId' => $id, 'viewType' => $viewType));
        $this->viewBuilderRegistry->expects($this->once())->method('getFromRegistry')->will($this->returnValue($this->viewBuilderMock));
        $viewObject = new ContentView($templateIdentifier);
        $viewObject->setControllerReference(new ControllerReference($customController));
        $this->viewBuilderMock->expects($this->once())->method('buildView')->will($this->returnValue($viewObject));
        $this->event->expects($this->once())->method('setController');
        $this->controllerResolver->expects($this->once())->method('getController')->will($this->returnValue(function () {
        }));
        $this->controllerListener->getController($this->event);
        $this->assertEquals($customController, $this->request->attributes->get('_controller'));
        $expectedView = new ContentView();
        $expectedView->setTemplateIdentifier($templateIdentifier);
        $expectedView->setControllerReference(new ControllerReference($customController));
        $this->assertEquals($expectedView, $this->request->attributes->get('view'));
    }