Skip to content

Commit df34ecd

Browse files
🔃 [Magento Community Engineering] Community Contributions - 2.4-develop
Accepted Community Pull Requests: - #28407: MFTF: Refactoring AdminUrlRewritesForProductsWithConfigurationTurnedOffTest (by @kate-kyzyma) - #28467: [Integration] Refactoring some fixtures for cms module (by @Usik2203)
2 parents faa38f8 + 3beb5e8 commit df34ecd

File tree

9 files changed

+142
-50
lines changed

9 files changed

+142
-50
lines changed

app/code/Magento/UrlRewrite/Test/Mftf/Test/AdminUrlRewritesForProductInAnchorCategoriesTest/AdminUrlRewritesForProductsWithConfigurationTurnedOffTest.xml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,26 @@
4141
<!--Flush cache-->
4242
<magentoCLI command="cache:flush" stepKey="cleanCache2"/>
4343
</after>
44+
4445
<!-- 1. Log in to Admin -->
4546
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
47+
4648
<!-- 2. Open Marketing - SEO & Search - URL Rewrites -->
47-
<amOnPage url="{{AdminUrlRewriteIndexPage.url}}" stepKey="amOnUrlRewriteIndexPage"/>
48-
<click selector="{{AdminDataGridHeaderSection.filters}}" stepKey="openUrlRewriteGridFilters"/>
49-
<fillField selector="{{AdminDataGridHeaderSection.filterFieldInput('request_path')}}" userInput="$createSimpleProduct.custom_attributes[url_key]$.html" stepKey="inputProductName"/>
50-
<click selector="{{AdminDataGridHeaderSection.applyFilters}}" stepKey="clickOrderApplyFilters"/>
51-
<waitForPageLoad stepKey="waitForPageToLoad"/>
52-
<seeElement selector="{{AdminUrlRewriteIndexSection.gridCellByColumnValue('Request Path', $createSimpleProduct.custom_attributes[url_key]$.html)}}" stepKey="seeProducturl"/>
53-
<dontSeeElement selector="{{AdminUrlRewriteIndexSection.gridCellByColumnValue('Request Path', $simpleSubCategory1.custom_attributes[url_key]$/$createSimpleProduct.custom_attributes[url_key]$.html)}}" stepKey="dontSeeCategoryProducturlKey"/>
54-
<amOnPage url="/$simpleSubCategory1.custom_attributes[url_key]$/$createSimpleProduct.custom_attributes[url_key]$.html" stepKey="navigateToProductPage"/>
55-
<see selector="{{StorefrontProductInfoMainSection.productName}}" userInput="$$createSimpleProduct.name$$" stepKey="seeProductName"/>
49+
<actionGroup ref="AdminSearchUrlRewriteByRequestPathActionGroup" stepKey="searchingUrlRewrite">
50+
<argument name="requestPath" value="$createSimpleProduct.custom_attributes[url_key]$.html"/>
51+
</actionGroup>
52+
<actionGroup ref="AssertAdminRequestPathInUrlRewriteGrigActionGroup" stepKey="seeProductUrlInGrid">
53+
<argument name="requestPath" value="$createSimpleProduct.custom_attributes[url_key]$.html"/>
54+
</actionGroup>
55+
<actionGroup ref="AssertAdminRequestPathIsNotFoundInUrlRewriteGrigActionGroup" stepKey="categoryProductUrlIsNotShown">
56+
<argument name="requestPath" value="$simpleSubCategory1.custom_attributes[url_key]$/$createSimpleProduct.custom_attributes[url_key]$.html"/>
57+
</actionGroup>
58+
59+
<!-- 3. Assert the Redirect works and Product is present on StoreFront-->
60+
<actionGroup ref="AssertStorefrontProductRedirectActionGroup" stepKey="verifyProductInStoreFrontPage">
61+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
62+
<argument name="productSku" value="$$createSimpleProduct.sku$$"/>
63+
<argument name="productRequestPath" value="/$simpleSubCategory1.custom_attributes[url_key]$/$createSimpleProduct.custom_attributes[url_key]$.html"/>
64+
</actionGroup>
5665
</test>
5766
</tests>

dev/tests/integration/testsuite/Magento/Cms/_files/block.php

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,22 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
8+
use Magento\Cms\Api\BlockRepositoryInterface;
9+
use Magento\Cms\Model\Block;
10+
use Magento\Store\Model\StoreManagerInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
15+
/**
16+
* @var $block Block
17+
* @var $blockRepository BlockRepositoryInterface
18+
*/
19+
$block = $objectManager->create(Block::class);
20+
$blockRepository = $objectManager->create(BlockRepositoryInterface::class);
621

7-
/** @var $block \Magento\Cms\Model\Block */
8-
$block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Cms\Model\Block::class);
922
$block->setTitle(
1023
'CMS Block Title'
1124
)->setIdentifier(
@@ -20,8 +33,10 @@
2033
1
2134
)->setStores(
2235
[
23-
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
24-
\Magento\Store\Model\StoreManagerInterface::class
36+
Bootstrap::getObjectManager()->get(
37+
StoreManagerInterface::class
2538
)->getStore()->getId()
2639
]
27-
)->save();
40+
);
41+
42+
$blockRepository->save($block);

dev/tests/integration/testsuite/Magento/Cms/_files/block_default_store.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,20 @@
55
*/
66
declare(strict_types=1);
77

8+
use Magento\Cms\Api\BlockRepositoryInterface;
89
use Magento\Cms\Model\Block;
910
use Magento\Store\Model\Store;
1011
use Magento\TestFramework\Helper\Bootstrap;
1112

12-
/** @var $block Block */
13-
$block = Bootstrap::getObjectManager()->create(Block::class);
13+
$objectManager = Bootstrap::getObjectManager();
14+
15+
/**
16+
* @var $block Block
17+
* @var $blockRepository BlockRepositoryInterface
18+
*/
19+
$block = $objectManager->create(Block::class);
20+
$blockRepository = $objectManager->create(BlockRepositoryInterface::class);
21+
1422
$block->setTitle(
1523
'CMS Block Title'
1624
)->setIdentifier(
@@ -24,4 +32,6 @@
2432
1
2533
)->setStores(
2634
[Store::DEFAULT_STORE_ID]
27-
)->save();
35+
);
36+
37+
$blockRepository->save($block);

dev/tests/integration/testsuite/Magento/Cms/_files/home_with_custom_handle.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
declare(strict_types=1);
77

8+
use Magento\Cms\Model\ResourceModel\Page as PageResource;
89
use Magento\Cms\Model\Page as PageModel;
910
use Magento\Cms\Model\PageFactory as PageModelFactory;
1011
use Magento\TestFramework\Cms\Model\CustomLayoutManager;
@@ -20,11 +21,16 @@
2021

2122
$customLayoutName = 'page_custom_layout';
2223

23-
/** @var PageModel $page */
24+
/**
25+
* @var PageModel $page
26+
* @var PageResource $pageResource
27+
*/
2428
$page = $pageFactory->create(['customLayoutRepository' => $layoutRepo]);
25-
$page->load('home');
29+
$pageResource = $objectManager->create(PageResource::class);
30+
31+
$pageResource->load($page, 'home');
2632
$cmsPageId = (int)$page->getId();
2733

2834
$fakeManager->fakeAvailableFiles($cmsPageId, [$customLayoutName]);
2935
$page->setData('layout_update_selected', $customLayoutName);
30-
$page->save();
36+
$pageResource->save($page);

dev/tests/integration/testsuite/Magento/Cms/_files/noroute.php

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6-
$block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Cms\Model\Page::class);
7-
$block->load('no-route', 'identifier');
8-
$block->setIsActive(0)->save();
6+
7+
declare(strict_types=1);
8+
9+
use Magento\Cms\Model\Page;
10+
use Magento\Cms\Model\ResourceModel\Page as PageResource;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
15+
/**
16+
* @var Page $page
17+
* @var PageResource $pageResource
18+
*/
19+
$page = $objectManager->create(Page::class);
20+
$pageResource = $objectManager->create(PageResource::class);
21+
22+
$pageResource->load($page, 'no-route', 'identifier');
23+
$page->setIsActive(0);
24+
$pageResource->save($page);

dev/tests/integration/testsuite/Magento/Cms/_files/pages.php

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,21 @@
44
* See COPYING.txt for license details.
55
*/
66

7-
/** @var $page \Magento\Cms\Model\Page */
8-
$page = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Cms\Model\Page::class);
7+
declare(strict_types=1);
8+
9+
use Magento\Cms\Api\PageRepositoryInterface;
10+
use Magento\Cms\Model\Page;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
15+
/**
16+
* @var $page Page
17+
* @var $pageRepository PageRepositoryInterface
18+
*/
19+
$page = $objectManager->create(Page::class);
20+
$pageRepository = $objectManager->create(PageRepositoryInterface::class);
21+
922
$page->setTitle('Cms Page 100')
1023
->setIdentifier('page100')
1124
->setStores([0])
@@ -15,10 +28,10 @@
1528
->setMetaTitle('Cms Meta title for page100')
1629
->setMetaKeywords('Cms Meta Keywords for page100')
1730
->setMetaDescription('Cms Meta Description for page100')
18-
->setPageLayout('1column')
19-
->save();
31+
->setPageLayout('1column');
32+
$pageRepository->save($page);
2033

21-
$page = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Cms\Model\Page::class);
34+
$page = $objectManager->create(Page::class);
2235
$page->setTitle('Cms Page Design Blank')
2336
->setIdentifier('page_design_blank')
2437
->setStores([0])
@@ -29,5 +42,5 @@
2942
->setMetaKeywords('Cms Meta Keywords for Blank page')
3043
->setMetaDescription('Cms Meta Description for Blank page')
3144
->setPageLayout('1column')
32-
->setCustomTheme('Magento/blank')
33-
->save();
45+
->setCustomTheme('Magento/blank');
46+
$pageRepository->save($page);

dev/tests/integration/testsuite/Magento/Cms/_files/pages_with_layout_xml.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,21 @@
77
declare(strict_types=1);
88

99
use Magento\Cms\Model\Page as PageModel;
10+
use Magento\Cms\Model\ResourceModel\Page as PageResource;
1011
use Magento\Cms\Model\PageFactory as PageModelFactory;
1112
use Magento\TestFramework\Cms\Model\CustomLayoutManager;
1213
use Magento\TestFramework\Helper\Bootstrap;
1314

1415
$objectManager = Bootstrap::getObjectManager();
1516
$pageFactory = $objectManager->get(PageModelFactory::class);
17+
1618
/** @var CustomLayoutManager $fakeManager */
1719
$fakeManager = $objectManager->get(CustomLayoutManager::class);
1820
$layoutRepo = $objectManager->create(PageModel\CustomLayoutRepositoryInterface::class, ['manager' => $fakeManager]);
1921

22+
/** @var PageResource $pageRepository */
23+
$pageResource = $objectManager->create(PageResource::class);
24+
2025
/** @var PageModel $page */
2126
$page = $pageFactory->create(['customLayoutRepository' => $layoutRepo]);
2227
$page->setIdentifier('test_custom_layout_page_1');
@@ -25,14 +30,16 @@
2530
$page->setLayoutUpdateXml('<container />');
2631
$page->setIsActive(true);
2732
$page->setStoreId(0);
28-
$page->save();
33+
$pageResource->save($page);
34+
2935
/** @var PageModel $page2 */
3036
$page2 = $pageFactory->create(['customLayoutRepository' => $layoutRepo]);
3137
$page2->setIdentifier('test_custom_layout_page_2');
3238
$page2->setTitle('Test Page 2');
3339
$page->setIsActive(true);
3440
$page->setStoreId(0);
35-
$page2->save();
41+
$pageResource->save($page2);
42+
3643
/** @var PageModel $page3 */
3744
$page3 = $pageFactory->create(['customLayoutRepository' => $layoutRepo]);
3845
$page3->setIdentifier('test_custom_layout_page_3');
@@ -41,7 +48,7 @@
4148
$page3->setIsActive(1);
4249
$page3->setContent('<h1>Test Page</h1>');
4350
$page3->setPageLayout('1column');
44-
$page3->save();
51+
$pageResource->save($page3);
4552
$fakeManager->fakeAvailableFiles((int)$page3->getId(), ['test_selected']);
4653
$page3->setData('layout_update_selected', 'test_selected');
47-
$page3->save();
54+
$pageResource->save($page3);

dev/tests/integration/testsuite/Magento/Cms/_files/pages_with_layout_xml_rollback.php

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,33 @@
88

99
use Magento\Cms\Model\Page as PageModel;
1010
use Magento\Cms\Model\PageFactory as PageModelFactory;
11+
use Magento\Cms\Model\ResourceModel\Page as PageResource;
1112
use Magento\TestFramework\Helper\Bootstrap;
1213

1314
$objectManager = Bootstrap::getObjectManager();
1415
$pageFactory = $objectManager->get(PageModelFactory::class);
15-
/** @var PageModel $page */
16+
17+
/**
18+
* @var PageModel $page
19+
* @var PageResource $pageResource
20+
*/
1621
$page = $pageFactory->create();
17-
$page->load('test_custom_layout_page_1', PageModel::IDENTIFIER);
22+
$pageResource = $objectManager->create(PageResource::class);
23+
$pageResource->load($page, 'test_custom_layout_page_1', PageModel::IDENTIFIER);
1824
if ($page->getId()) {
19-
$page->delete();
25+
$pageResource->delete($page);
2026
}
27+
2128
/** @var PageModel $page2 */
2229
$page2 = $pageFactory->create();
23-
$page2->load('test_custom_layout_page_2', PageModel::IDENTIFIER);
30+
$pageResource->load($page2, 'test_custom_layout_page_2', PageModel::IDENTIFIER);
2431
if ($page2->getId()) {
25-
$page2->delete();
32+
$pageResource->delete($page2);
2633
}
34+
2735
/** @var PageModel $page3 */
2836
$page3 = $pageFactory->create();
29-
$page3->load('test_custom_layout_page_3', PageModel::IDENTIFIER);
37+
$pageResource->load($page3, 'test_custom_layout_page_3', PageModel::IDENTIFIER);
3038
if ($page3->getId()) {
31-
$page3->delete();
39+
$pageResource->delete($page3);
3240
}

dev/tests/integration/testsuite/Magento/Cms/_files/two_cms_page_with_same_url_for_different_stores.php

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,37 @@
55
*/
66
declare(strict_types=1);
77

8+
use Magento\Cms\Api\PageRepositoryInterface;
9+
use Magento\Cms\Model\Page;
810
use Magento\Store\Api\StoreRepositoryInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
912
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
1013

1114
Resolver::getInstance()->requireDataFixture('Magento/Store/_files/second_store.php');
1215

13-
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
16+
$objectManager = Bootstrap::getObjectManager();
17+
1418
/** @var StoreRepositoryInterface $storeRepository */
1519
$storeRepository = $objectManager->get(StoreRepositoryInterface::class);
1620
$store = $storeRepository->get('fixture_second_store');
17-
/** @var $page \Magento\Cms\Model\Page */
18-
$page = $objectManager->create(\Magento\Cms\Model\Page::class);
21+
22+
/** @var PageRepositoryInterface $pageRepository */
23+
$pageRepository = $objectManager->create(PageRepositoryInterface::class);
24+
25+
/** @var $page Page */
26+
$page = $objectManager->create(Page::class);
1927
$page->setTitle('First test page')
2028
->setIdentifier('page1')
2129
->setStores([1])
2230
->setIsActive(1)
23-
->setPageLayout('1column')
24-
->save();
31+
->setPageLayout('1column');
32+
$pageRepository->save($page);
2533

26-
/** @var $page \Magento\Cms\Model\Page */
27-
$page = $objectManager->create(\Magento\Cms\Model\Page::class);
34+
/** @var $page Page */
35+
$page = $objectManager->create(Page::class);
2836
$page->setTitle('Second test page')
2937
->setIdentifier('page1')
3038
->setStores([$store->getId()])
3139
->setIsActive(1)
32-
->setPageLayout('1column')
33-
->save();
40+
->setPageLayout('1column');
41+
$pageRepository->save($page);

0 commit comments

Comments
 (0)