public function testGetDirectUrl() { $requestMock = $this->getRequestMock(); $routeConfigMock = $this->getMock('Magento\Framework\App\Route\ConfigInterface'); $model = $this->getUrlModel( [ 'scopeResolver' => $this->scopeResolverMock, 'routeParamsResolverFactory' => $this->getRouteParamsResolverFactory(), 'queryParamsResolver' => $this->queryParamsResolverMock, 'request' => $requestMock, 'routeConfig' => $routeConfigMock, 'routeParamsPreprocessor' => $this->routeParamsPreprocessorMock ] ); $baseUrl = 'http://localhost/index.php/'; $urlType = \Magento\Framework\UrlInterface::URL_TYPE_LINK; $this->scopeMock->expects($this->once())->method('getBaseUrl')->will($this->returnValue($baseUrl)); $this->scopeResolverMock->expects($this->any()) ->method('getScope') ->will($this->returnValue($this->scopeMock)); $this->routeParamsResolverMock->expects($this->any())->method('getType')->will($this->returnValue($urlType)); $this->routeParamsPreprocessorMock->expects($this->once()) ->method('execute') ->willReturnArgument(2); $requestMock->expects($this->once())->method('isDirectAccessFrontendName')->will($this->returnValue(true)); $url = $model->getDirectUrl('direct-url'); $this->assertEquals('http://localhost/index.php/direct-url', $url); }