public function setUp()
 {
     $this->standaloneView = $this->getAccessibleMock(\Neos\FluidAdaptor\View\StandaloneView::class, array('dummy'));
     $this->mockRequest = $this->getMockBuilder(\Neos\Flow\Mvc\ActionRequest::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext = $this->getMockBuilder(\Neos\Flow\Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockRequest));
     $this->inject($this->standaloneView, 'controllerContext', $this->mockControllerContext);
 }
 /**
  * Sets up this test case
  * @return void
  */
 public function setUp()
 {
     $this->view = $this->getMockBuilder(Mvc\View\JsonView::class)->setMethods(['loadConfigurationFromYamlFile'])->getMock();
     $this->controllerContext = $this->getMockBuilder(Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock();
     $this->response = $this->createMock(Http\Response::class);
     $this->controllerContext->expects($this->any())->method('getResponse')->will($this->returnValue($this->response));
     $this->view->setControllerContext($this->controllerContext);
 }
Exemple #3
0
 /**
  * @test
  * @param string $requestUri
  * @param string $sectionArgument
  * @param string $expectedResult
  * @dataProvider getFormActionUriDataProvider
  */
 public function getFormActionUriTests($requestUri, $sectionArgument, $expectedResult)
 {
     $mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($mockActionRequest));
     $mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();
     $mockActionRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($mockHttpRequest));
     $mockUri = $this->getMockBuilder(Uri::class)->disableOriginalConstructor()->getMock();
     $mockUri->expects($this->any())->method('__toString')->will($this->returnValue($requestUri));
     $mockHttpRequest->expects($this->any())->method('getUri')->will($this->returnValue($mockUri));
     $this->formViewHelper->expects($this->any())->method('hasArgument')->with('section')->will($this->returnValue($sectionArgument !== null));
     $this->formViewHelper->_set('arguments', ['section' => $sectionArgument]);
     $this->assertSame($expectedResult, $this->formViewHelper->_call('getFormActionUri'));
 }
 public function setUp()
 {
     $this->mockTsRuntime = $this->getMockBuilder(Runtime::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext = $this->getMockBuilder(ControllerContext::class)->disableOriginalConstructor()->getMock();
     $this->mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockActionRequest));
     $this->mockTsRuntime->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext));
     $this->resourceUriImplementation = new ResourceUriImplementation($this->mockTsRuntime, 'resourceUri/test', 'Neos.Fusion:ResourceUri');
     $this->mockResourceManager = $this->getMockBuilder(ResourceManager::class)->disableOriginalConstructor()->getMock();
     $this->inject($this->resourceUriImplementation, 'resourceManager', $this->mockResourceManager);
     $this->mockI18nService = $this->getMockBuilder(Service::class)->disableOriginalConstructor()->getMock();
     $this->inject($this->resourceUriImplementation, 'i18nService', $this->mockI18nService);
 }
 /**
  * Test if the response headers of the plugin - set within the plugin action / dispatch - were set into the parent response.
  *
  * @dataProvider responseHeadersDataprovider
  * @test
  */
 public function evaluateSetHeaderIntoParent($message, $input, $expected)
 {
     $this->pluginImplementation->expects($this->any())->method('buildPluginRequest')->will($this->returnValue($this->mockActionRequest));
     $parentResponse = new Response();
     $this->_setHeadersIntoResponse($parentResponse, $input['parent']);
     $this->mockControllerContext->expects($this->any())->method('getResponse')->will($this->returnValue($parentResponse));
     $this->mockDispatcher->expects($this->any())->method('dispatch')->will($this->returnCallback(function ($request, $response) use($input) {
         $this->_setHeadersIntoResponse($response, $input['plugin']);
     }));
     $this->pluginImplementation->evaluate();
     foreach ($expected as $expectedKey => $expectedValue) {
         $this->assertEquals($expectedValue, (string) $parentResponse->getHeaders()->get($expectedKey), $message);
     }
 }
 /**
  * @return void
  */
 public function setUp()
 {
     $this->viewHelperVariableContainer = $this->createMock(\TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperVariableContainer::class);
     $this->viewHelperVariableContainer->expects($this->any())->method('exists')->will($this->returnCallback(array($this, 'viewHelperVariableContainerExistsCallback')));
     $this->viewHelperVariableContainer->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'viewHelperVariableContainerGetCallback')));
     $this->templateVariableContainer = $this->createMock(TemplateVariableContainer::class);
     $this->uriBuilder = $this->createMock(\Neos\Flow\Mvc\Routing\UriBuilder::class);
     $this->uriBuilder->expects($this->any())->method('reset')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setArguments')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setSection')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setFormat')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setCreateAbsoluteUri')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setAddQueryString')->will($this->returnValue($this->uriBuilder));
     $this->uriBuilder->expects($this->any())->method('setArgumentsToBeExcludedFromQueryString')->will($this->returnValue($this->uriBuilder));
     // BACKPORTER TOKEN #1
     $httpRequest = \Neos\Flow\Http\Request::create(new \Neos\Flow\Http\Uri('http://localhost/foo'));
     $this->request = $this->getMockBuilder(\Neos\Flow\Mvc\ActionRequest::class)->setConstructorArgs(array($httpRequest))->getMock();
     $this->request->expects($this->any())->method('isMainRequest')->will($this->returnValue(true));
     $this->controllerContext = $this->getMockBuilder(\Neos\Flow\Mvc\Controller\ControllerContext::class)->disableOriginalConstructor()->getMock();
     $this->controllerContext->expects($this->any())->method('getUriBuilder')->will($this->returnValue($this->uriBuilder));
     $this->controllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->request));
     $this->tagBuilder = $this->createMock(TagBuilder::class);
     $this->arguments = array();
     $this->renderingContext = new \Neos\FluidAdaptor\Core\Rendering\RenderingContext(new StandaloneView(), []);
     $this->renderingContext->setVariableProvider($this->templateVariableContainer);
     $this->renderingContext->setViewHelperVariableContainer($this->viewHelperVariableContainer);
     $this->renderingContext->setControllerContext($this->controllerContext);
 }
 /**
  * Transforms the value view variable to a serializable
  * array represantion using a YAML view configuration and JSON encodes
  * the result.
  *
  * @return string The JSON encoded variables
  * @api
  */
 public function render()
 {
     $this->controllerContext->getResponse()->setHeader('Content-Type', 'application/json');
     $propertiesToRender = $this->renderArray();
     $options = $this->getOption('jsonEncodingOptions');
     return json_encode($propertiesToRender, $options);
 }
Exemple #8
0
 /**
  * Prepare a TypoScriptView for testing that Mocks a request with the given controller and action names.
  *
  * @param string $controllerObjectName
  * @param string $controllerActionName
  * @return FusionView
  */
 protected function buildView($controllerObjectName, $controllerActionName)
 {
     $request = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
     $request->expects($this->any())->method('getControllerObjectName')->will($this->returnValue($controllerObjectName));
     $request->expects($this->any())->method('getControllerActionName')->will($this->returnValue($controllerActionName));
     $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($request));
     $view = new FusionView();
     $view->setControllerContext($this->mockControllerContext);
     $this->inject($view, 'fallbackView', $this->mockFallbackView);
     $view->setTypoScriptPathPattern(__DIR__ . '/Fixtures/Fusion');
     return $view;
 }
 public function setUp()
 {
     $this->convertUrisImplementation = $this->getAccessibleMock(ConvertUrisImplementation::class, array('tsValue'), array(), '', false);
     $this->mockWorkspace = $this->getMockBuilder(Workspace::class)->disableOriginalConstructor()->getMock();
     $this->mockContext = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock();
     $this->mockContext->expects($this->any())->method('getWorkspace')->will($this->returnValue($this->mockWorkspace));
     $this->mockNode = $this->getMockBuilder(NodeInterface::class)->getMock();
     $this->mockNode->expects($this->any())->method('getContext')->will($this->returnValue($this->mockContext));
     $this->mockHttpUri = $this->getMockBuilder(Uri::class)->disableOriginalConstructor()->getMock();
     $this->mockHttpUri->expects($this->any())->method('getHost')->will($this->returnValue('localhost'));
     $this->mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();
     $this->mockHttpRequest->expects($this->any())->method('getUri')->will($this->returnValue($this->mockHttpUri));
     $this->mockActionRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
     $this->mockActionRequest->expects($this->any())->method('getHttpRequest')->will($this->returnValue($this->mockHttpRequest));
     $this->mockControllerContext = $this->getMockBuilder(ControllerContext::class)->disableOriginalConstructor()->getMock();
     $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockActionRequest));
     $this->mockLinkingService = $this->createMock(LinkingService::class);
     $this->convertUrisImplementation->_set('linkingService', $this->mockLinkingService);
     $this->mockTsRuntime = $this->getMockBuilder(Runtime::class)->disableOriginalConstructor()->getMock();
     $this->mockTsRuntime->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext));
     $this->convertUrisImplementation->_set('tsRuntime', $this->mockTsRuntime);
 }
 /**
  * @param ControllerContext $controllerContext
  * @param string $module
  * @param array $moduleConfiguration
  * @param string $modulePath
  * @return array
  */
 protected function collectModuleData(ControllerContext $controllerContext, $module, $moduleConfiguration, $modulePath)
 {
     $moduleUri = $controllerContext->getUriBuilder()->reset()->setCreateAbsoluteUri(true)->uriFor('index', array('module' => $modulePath), 'Backend\\Module', 'Neos.Neos');
     return array('module' => $module, 'modulePath' => $modulePath, 'uri' => $moduleUri, 'label' => isset($moduleConfiguration['label']) ? $moduleConfiguration['label'] : '', 'description' => isset($moduleConfiguration['description']) ? $moduleConfiguration['description'] : '', 'icon' => isset($moduleConfiguration['icon']) ? $moduleConfiguration['icon'] : '', 'hideInMenu' => isset($moduleConfiguration['hideInMenu']) ? (bool) $moduleConfiguration['hideInMenu'] : false);
 }
 /**
  * @param ControllerContext $controllerContext
  */
 public function setControllerContext($controllerContext)
 {
     $this->controllerContext = $controllerContext;
     $request = $controllerContext->getRequest();
     if (!$this->templatePaths instanceof TemplatePaths || !$request instanceof ActionRequest) {
         return;
     }
     $this->templatePaths->setPatternReplacementVariables(['packageKey' => $request->getControllerPackageKey(), 'subPackageKey' => $request->getControllerSubpackageKey(), 'controllerName' => $request->getControllerName(), 'action' => $request->getControllerActionName(), 'format' => $request->getFormat() ?: 'html']);
 }
 /**
  * Get variables from configuration that should be set in the context by default.
  * For example Eel helpers are made available by this.
  *
  * @return array Array with default context variable objects.
  */
 protected function getDefaultContextVariables()
 {
     if ($this->defaultContextVariables === null) {
         $this->defaultContextVariables = array();
         if (isset($this->settings['defaultContext']) && is_array($this->settings['defaultContext'])) {
             $this->defaultContextVariables = EelUtility::getDefaultContextVariables($this->settings['defaultContext']);
         }
         $this->defaultContextVariables['request'] = $this->controllerContext->getRequest();
     }
     return $this->defaultContextVariables;
 }
 /**
  * @param ControllerContext $controllerContext
  * @param Site $site
  * @return string
  * @throws NeosException
  */
 public function createSiteUri(ControllerContext $controllerContext, Site $site)
 {
     $primaryDomain = $site->getPrimaryDomain();
     if ($primaryDomain === null) {
         throw new NeosException(sprintf('Cannot link to a site "%s" since it has no active domains.', $site->getName()), 1460443524);
     }
     $requestUri = $controllerContext->getRequest()->getHttpRequest()->getUri();
     $baseUri = $controllerContext->getRequest()->getHttpRequest()->getBaseUri();
     $port = $primaryDomain->getPort() ?: $requestUri->getPort();
     return sprintf('%s://%s%s%s', $primaryDomain->getScheme() ?: $requestUri->getScheme(), $primaryDomain->getHostPattern(), $port && !in_array($port, [80, 443], true) ? ':' . $port : '', rtrim($baseUri->getPath(), '/'));
 }