72 lines
2.2 KiB
PHP
72 lines
2.2 KiB
PHP
<?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],
|
|
];
|
|
}
|
|
}
|