Skip to content

Commit d271281

Browse files
authored
Merge pull request magento#4905 from magento-tsg/2.3-develop-com-pr1
[TSG-Commerce] Tests for 2.3 (pr1) (2.3-develop)
2 parents 06dbbc8 + 2903792 commit d271281

File tree

11 files changed

+2305
-458
lines changed

11 files changed

+2305
-458
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Catalog\Controller\Adminhtml\Category\Save;
9+
10+
use Magento\CatalogUrlRewrite\Model\Map\DataCategoryUrlRewriteDatabaseMap;
11+
use Magento\Framework\App\Request\Http as HttpRequest;
12+
use Magento\Framework\Serialize\Serializer\Json;
13+
use Magento\TestFramework\TestCase\AbstractBackendController;
14+
use Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollectionFactory;
15+
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
16+
17+
/**
18+
* Class defines url rewrite creation for category save controller
19+
*
20+
* @magentoAppArea adminhtml
21+
* @magentoDbIsolation enabled
22+
*/
23+
class UrlRewriteTest extends AbstractBackendController
24+
{
25+
/** @var $urlRewriteCollectionFactory */
26+
private $urlRewriteCollectionFactory;
27+
28+
/** @var Json */
29+
private $jsonSerializer;
30+
31+
/**
32+
* @inheritDoc
33+
*/
34+
protected function setUp()
35+
{
36+
parent::setUp();
37+
38+
$this->urlRewriteCollectionFactory = $this->_objectManager->get(UrlRewriteCollectionFactory::class);
39+
$this->jsonSerializer = $this->_objectManager->get(Json::class);
40+
}
41+
42+
/**
43+
* @magentoConfigFixture default/catalog/seo/generate_category_product_rewrites 1
44+
* @dataProvider categoryDataProvider
45+
* @param array $data
46+
* @return void
47+
*/
48+
public function testUrlRewrite(array $data): void
49+
{
50+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
51+
$this->getRequest()->setPostValue($data);
52+
$this->dispatch('backend/catalog/category/save');
53+
$categoryId = $this->jsonSerializer->unserialize($this->getResponse()->getBody())['category']['entity_id'];
54+
$this->assertNotNull($categoryId, 'The category was not created');
55+
$urlRewriteCollection = $this->urlRewriteCollectionFactory->create();
56+
$urlRewriteCollection->addFieldToFilter(UrlRewrite::ENTITY_ID, ['eq' => $categoryId])
57+
->addFieldToFilter(UrlRewrite::ENTITY_TYPE, ['eq' => DataCategoryUrlRewriteDatabaseMap::ENTITY_TYPE]);
58+
$this->assertCount(
59+
1,
60+
$urlRewriteCollection->getItems(),
61+
'Wrong count of url rewrites was created'
62+
);
63+
}
64+
65+
/**
66+
* @return array
67+
*/
68+
public function categoryDataProvider(): array
69+
{
70+
return [
71+
'url_rewrite_is_created_during_category_save' => [
72+
[
73+
'path' => '1/2',
74+
'name' => 'Custom Name',
75+
'parent' => 2,
76+
'is_active' => '0',
77+
'include_in_menu' => '1',
78+
'display_mode' => 'PRODUCTS',
79+
'is_anchor' => true,
80+
'return_session_messages_only' => true,
81+
'use_config' => [
82+
'available_sort_by' => 1,
83+
'default_sort_by' => 1,
84+
'filter_price_range' => 1,
85+
],
86+
],
87+
],
88+
];
89+
}
90+
}

0 commit comments

Comments
 (0)