72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						||
/**
 | 
						||
 * Copyright © Magento, Inc. All rights reserved.
 | 
						||
 * See COPYING.txt for license details.
 | 
						||
 */
 | 
						||
declare(strict_types=1);
 | 
						||
 | 
						||
namespace Magento\UrlRewrite\Model;
 | 
						||
 | 
						||
use Magento\TestFramework\Helper\Bootstrap;
 | 
						||
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
 | 
						||
 | 
						||
/**
 | 
						||
 * @magentoDataFixture Magento/UrlRewrite/_files/url_rewrites.php
 | 
						||
 */
 | 
						||
class UrlFinderInterfaceTest extends \PHPUnit\Framework\TestCase
 | 
						||
{
 | 
						||
    /**
 | 
						||
     * @var UrlFinderInterface
 | 
						||
     */
 | 
						||
    private $urlFinder;
 | 
						||
 | 
						||
    /**
 | 
						||
     * @inheritdoc
 | 
						||
     */
 | 
						||
    protected function setUp(): void
 | 
						||
    {
 | 
						||
        $this->urlFinder = Bootstrap::getObjectManager()->create(UrlFinderInterface::class);
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * @dataProvider findOneDataProvider
 | 
						||
     * @param string $requestPath
 | 
						||
     * @param string $targetPath
 | 
						||
     * @param int $redirectType
 | 
						||
     */
 | 
						||
    public function testFindOneByData(string $requestPath, string $targetPath, int $redirectType)
 | 
						||
    {
 | 
						||
        $data = [
 | 
						||
            UrlRewrite::REQUEST_PATH => $requestPath,
 | 
						||
        ];
 | 
						||
        $urlRewrite = $this->urlFinder->findOneByData($data);
 | 
						||
        $this->assertEquals($targetPath, $urlRewrite->getTargetPath());
 | 
						||
        $this->assertEquals($redirectType, $urlRewrite->getRedirectType());
 | 
						||
    }
 | 
						||
 | 
						||
    /**
 | 
						||
     * @return array
 | 
						||
     */
 | 
						||
    public function findOneDataProvider(): array
 | 
						||
    {
 | 
						||
        return [
 | 
						||
            ['string', 'test_page1', 0],
 | 
						||
            ['string/', 'string', 301],
 | 
						||
            ['string_permanent', 'test_page1', 301],
 | 
						||
            ['string_permanent/', 'test_page1', 301],
 | 
						||
            ['string_temporary', 'test_page1', 302],
 | 
						||
            ['string_temporary/', 'test_page1', 302],
 | 
						||
            ['строка', 'test_page1', 0],
 | 
						||
            ['строка/', 'строка', 301],
 | 
						||
            [urlencode('строка'), 'test_page2', 0],
 | 
						||
            [urlencode('строка') . '/', urlencode('строка'), 301],
 | 
						||
            ['другая_строка', 'test_page1', 302],
 | 
						||
            ['другая_строка/', 'test_page1', 302],
 | 
						||
            [urlencode('другая_строка'), 'test_page1', 302],
 | 
						||
            [urlencode('другая_строка') . '/', 'test_page1', 302],
 | 
						||
            ['السلسلة', 'test_page1', 0],
 | 
						||
            [urlencode('السلسلة'), 'test_page1', 0],
 | 
						||
        ];
 | 
						||
    }
 | 
						||
}
 |