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],
|
||
];
|
||
}
|
||
}
|