/** * @test */ public function actionRequestStripsParentHttpRequest() { $httpRequest = Request::create(new Uri('http://typo3.org')); $actionRequest = new \TYPO3\Flow\Mvc\ActionRequest($httpRequest); $actionRequest->setControllerActionName('foo'); $serializedActionRequest = serialize($actionRequest); /* @var $unserializedActionRequest \TYPO3\Flow\Mvc\ActionRequest */ $unserializedActionRequest = unserialize($serializedActionRequest); $this->assertNull($unserializedActionRequest->getParentRequest(), 'Parent HTTP request should be NULL after deserialization'); $this->assertSame('foo', $unserializedActionRequest->getControllerActionName()); }
/** * @test */ public function processRequestShouldSetWidgetConfiguration() { $request = new \TYPO3\Flow\Mvc\ActionRequest(new \TYPO3\Flow\Mvc\ActionRequest(\TYPO3\Flow\Http\Request::create(new \TYPO3\Flow\Http\Uri('http://localhost/foo')))); $response = new \TYPO3\Flow\Http\Response(); $widgetContext = $this->getMock('TYPO3\\Fluid\\Core\\Widget\\WidgetContext', array('getWidgetConfiguration')); $widgetContext->expects($this->once())->method('getWidgetConfiguration')->will($this->returnValue('myConfiguration')); $request->setArgument('__widgetContext', $widgetContext); $abstractWidgetController = $this->getAccessibleMock('TYPO3\\Fluid\\Core\\Widget\\AbstractWidgetController', array('resolveActionMethodName', 'initializeActionMethodArguments', 'initializeActionMethodValidators', 'mapRequestArgumentsToControllerArguments', 'detectFormat', 'resolveView', 'callActionMethod')); $abstractWidgetController->_set('argumentsMappingResults', new \TYPO3\Flow\Error\Result()); $abstractWidgetController->_set('flashMessageContainer', new \TYPO3\Flow\Mvc\FlashMessageContainer()); $abstractWidgetController->_set('mvcPropertyMappingConfigurationService', $this->getMock('TYPO3\\Flow\\Mvc\\Controller\\MvcPropertyMappingConfigurationService')); $abstractWidgetController->processRequest($request, $response); $widgetConfiguration = $abstractWidgetController->_get('widgetConfiguration'); $this->assertEquals('myConfiguration', $widgetConfiguration); }
/** * Build a web request for dispatching this Ext Direct transaction * * @param \TYPO3\ExtJS\ExtDirect\Request $extDirectRequest * @return \TYPO3\Flow\Mvc\ActionRequest A web request for this transaction */ public function buildRequest(\TYPO3\ExtJS\ExtDirect\Request $extDirectRequest) { $request = new \TYPO3\Flow\Mvc\ActionRequest($extDirectRequest); $request->setControllerObjectName($this->getControllerObjectName()); $request->setControllerActionName($this->getMethod()); $request->setFormat('extdirect'); $request->setArguments($this->getArguments()); return $request; }