Skip to content

Commit c364929

Browse files
🔃 [Magento Community Engineering] Community Contributions - 2.4-develop
Accepted Community Pull Requests: - #32187: [Sales] Fixed order address retriever for prevent populating data from shipping to billing (by @Den4ik) - #32082: Deleting disabled category forces category flat and catalog search re-indexed fully (by @engcom-Charlie) - #31851: Removed CliIndexerReindexActionGroup action group usage for modules (mix) (by @sergiy-v) - #32078: Removed CliCacheFlushActionGroup usage for Customer module (by @sergiy-v) - #31933: Do not send an ajax request if there no affected sections (by @ihor-sviziev) - #32009: REST API Product update url_key doesnt re-gerenate url_rewites when single store enabled (by @engcom-Charlie) - #31953: Removed CliCacheFlushActionGroup usage for ConfigurableProduct module (by @sergiy-v) - #31886: Fix #30471 - Page layouts are hard-coded in Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container (by @Bartlomiejsz) - #30850: [MFTF] Refactoring of AdminConfigDefaultProductLayoutFromConfigurationSettingTest (by @AnnaAPak) - #30329: Resolve Login As Customer Log - Logged In must be DateRange Filter instead of Text filter, Date display wrong timezone issue30328 (by @edenduong) - #31395: [MFTF] Refactoring AdminCreateCreditMemoForOrderWithCashOnDeliveryTest (by @AnnaAPak) - #31390: [MFTF] Coverage for the 30645 Customer Edit Issue when there is a newsletter queue associated with it (by @AnnaAPak) - #31645: Adding required custom options to simple product removes it from parent composite products without warning (by @engcom-Charlie) - #32249: Magento_Backend store switcher: Use nowdoc instead of heredoc (by @fnogatz) - #32299: Move test to correct folder (by @ihor-sviziev) - #31451: [MFTF] Refactoring AdminCheckDashboardWithChartsTest (by @AnnaAPak) - #31482: show or hide password widget created (by @ajithkumar-maragathavel) Fixed GitHub Issues: - #31608: Shipping address region leaking into billing address (reported by @kassner) has been fixed in #32187 by @Den4ik in 2.4-develop branch Related commits: 1. bc33796 2. 94b34b9 3. dc5ecb8 4. b066cea 5. 02a792f 6. ce458ae 7. 9d9104e 8. a377151 9. d78e9f8 10. 67ab661 11. 2bcdb1e - #23297: Deleting disabled category forces category flat and catalog search re-indexed fully (reported by @gulshan-streammarket) has been fixed in #32082 by @engcom-Charlie in 2.4-develop branch Related commits: 1. 3d52a3b 2. 8b0f561 3. 0d4d04b 4. 409ccc6 5. 11494b2 6. 882e719 7. 44bc26f 8. 977be92 9. 722cf47 10. 68c7282 11. 849db8c 12. 0930cf5 - #31852: [Issue] Removed CliIndexerReindexActionGroup action group usage for modules (mix) (reported by @m2-assistant[bot]) has been fixed in #31851 by @sergiy-v in 2.4-develop branch Related commits: 1. 4cfff44 - #32079: [Issue] Removed CliCacheFlushActionGroup usage for Customer module (reported by @m2-assistant[bot]) has been fixed in #32078 by @sergiy-v in 2.4-develop branch Related commits: 1. dbdb3e2 - #31948: [Issue] Do not send an ajax request if there no affected sections (reported by @m2-assistant[bot]) has been fixed in #31933 by @ihor-sviziev in 2.4-develop branch Related commits: 1. 24dfb62 2. 4314fd9 3. c98919b 4. d95ba9c 5. 5728c0b 6. c63f878 - #30316: REST API Product update url_key doesnt re-gerenate url_rewites (INSANE) (reported by @Seb2nim) has been fixed in #32009 by @engcom-Charlie in 2.4-develop branch Related commits: 1. 494eb40 2. 883f89b 3. 35a1aa8 4. 3644e17 - #31954: [Issue] Removed CliCacheFlushActionGroup usage for ConfigurableProduct module (reported by @m2-assistant[bot]) has been fixed in #31953 by @sergiy-v in 2.4-develop branch Related commits: 1. c6dad9d 2. 4b85052 3. 955f322 - #30471: Page layouts are hard-coded in Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container (reported by @ericmorand) has been fixed in #31886 by @Bartlomiejsz in 2.4-develop branch Related commits: 1. 1b9f190 2. 2ea06fb 3. db81b6b 4. 23db47e - #30855: [Issue] [MFTF] Refactoring of AdminConfigDefaultProductLayoutFromConfigurationSettingTest (reported by @m2-assistant[bot]) has been fixed in #30850 by @AnnaAPak in 2.4-develop branch Related commits: 1. c0728b8 2. 625a01a 3. 4772239 4. a4bf8b3 5. 283389b 6. b5151b8 7. 371e300 8. be757be 9. b8149af 10. 0b0f118 - #30328: Login As Customer Log - Logged In must be DateRange Filter instead of Text filter, Date display wrong timezone (reported by @edenduong) has been fixed in #30329 by @edenduong in 2.4-develop branch Related commits: 1. eeb47dd 2. b4f5784 3. 85b410d 4. 36472eb 5. 312d9d4 6. a16616b 7. 8ddd329 8. ef72f80 9. d372d2b 10. 3038e85 11. c8fb47e 12. 46aa750 13. 60b8981 14. a48886c 15. 1afe3db 16. 0fa2b89 17. 60ebbba 18. 6fb4052 - #30645: Customer Edit Issue when there is a newsletter queue associated with it. (reported by @chichitsai0517) has been fixed in #31390 by @AnnaAPak in 2.4-develop branch Related commits: 1. f26c89c 2. ba66f05 3. 7bf9886 4. 0d745e1 - #30492: Adding required custom options to simple product removes it from parent composite products without warning (reported by @magento2pl) has been fixed in #31645 by @engcom-Charlie in 2.4-develop branch Related commits: 1. 86d30a5 2. 2295da4 3. 1b7697f - #32262: [Issue] Magento_Backend store switcher: Use nowdoc instead of heredoc (reported by @m2-assistant[bot]) has been fixed in #32249 by @fnogatz in 2.4-develop branch Related commits: 1. c8a5013 - #32313: [Issue] Move test to correct folder (reported by @m2-assistant[bot]) has been fixed in #32299 by @ihor-sviziev in 2.4-develop branch Related commits: 1. 8f1b64e - #31523: [Issue] [MFTF] Refactoring AdminCheckDashboardWithChartsTest (reported by @m2-assistant[bot]) has been fixed in #31451 by @AnnaAPak in 2.4-develop branch Related commits: 1. acefba2 2. 7e0f55d 3. 8af7b18 4. 66e75fd 5. b5ec75c 6. 4b67412 - #31557: [Issue] show or hide password widget created (reported by @m2-assistant[bot]) has been fixed in #31482 by @ajithkumar-maragathavel in 2.4-develop branch Related commits: 1. 0dd3eeb 2. 17d0dba 3. 101aa44 4. cd336ea 5. 3f43759 6. 832255f 7. 1b2b513 8. ed37763 9. 541fa90 10. 0fa58ee 11. 9677540 12. 1f7e5b5 13. 7c0e401 14. c816799
2 parents d1a2753 + 898da15 commit c364929

File tree

128 files changed

+1451
-366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+1451
-366
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AssertAdminDashboardDisplayedWithNoErrorsActionGroup">
12+
<annotations>
13+
<description>Checks if Dashboard is displayed properly</description>
14+
</annotations>
15+
16+
<seeElement selector="{{AdminDashboardSection.dashboardDiagramOrderContentTab}}" stepKey="seeOrderContentTab"/>
17+
<seeElement selector="{{AdminDashboardSection.dashboardDiagramContent}}" stepKey="seeDiagramContent"/>
18+
<click selector="{{AdminDashboardSection.dashboardDiagramAmounts}}" stepKey="clickDashboardAmount"/>
19+
<waitForLoadingMaskToDisappear stepKey="waitForDashboardAmountLoading"/>
20+
<seeElement selector="{{AdminDashboardSection.dashboardDiagramAmountsContentTab}}" stepKey="seeDiagramAmountContent"/>
21+
<seeElement selector="{{AdminDashboardSection.dashboardDiagramTotals}}" stepKey="seeAmountTotals"/>
22+
<dontSeeJsError stepKey="dontSeeJsError"/>
23+
</actionGroup>
24+
</actionGroups>
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminCheckDashboardWithChartsTest">
12+
<annotations>
13+
<features value="Backend"/>
14+
<stories value="Google Charts on Magento dashboard"/>
15+
<title value="Admin should see Google chart on Magento dashboard"/>
16+
<description value="Google chart on Magento dashboard page is displaying properly"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MAGETWO-98934"/>
19+
<useCaseId value="MAGETWO-98584"/>
20+
<group value="backend"/>
21+
</annotations>
22+
<before>
23+
<magentoCLI command="config:set admin/dashboard/enable_charts 1" stepKey="setEnableCharts"/>
24+
<createData entity="SimpleProduct2" stepKey="createProduct">
25+
<field key="price">150</field>
26+
</createData>
27+
<createData entity="Simple_US_Customer" stepKey="createCustomer">
28+
<field key="firstname">John1</field>
29+
<field key="lastname">Doe1</field>
30+
</createData>
31+
<createData entity="CustomerCart" stepKey="createCustomerCart">
32+
<requiredEntity createDataKey="createCustomer"/>
33+
</createData>
34+
<createData entity="CustomerCartItem" stepKey="addCartItem">
35+
<requiredEntity createDataKey="createCustomerCart"/>
36+
<requiredEntity createDataKey="createProduct"/>
37+
</createData>
38+
<createData entity="CustomerAddressInformation" stepKey="addCustomerOrderAddress">
39+
<requiredEntity createDataKey="createCustomerCart"/>
40+
</createData>
41+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
42+
</before>
43+
<after>
44+
<magentoCLI command="config:set admin/dashboard/enable_charts 0" stepKey="setDisableChartsAsDefault"/>
45+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
46+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
47+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
48+
</after>
49+
50+
<grabTextFrom selector="{{AdminDashboardSection.dashboardTotals('Quantity')}}" stepKey="grabQuantityBefore"/>
51+
52+
<updateData createDataKey="createCustomerCart" entity="CustomerOrderPaymentMethod" stepKey="sendCustomerPaymentInformation">
53+
<requiredEntity createDataKey="createCustomerCart"/>
54+
</updateData>
55+
<createData entity="Invoice" stepKey="invoiceOrder">
56+
<requiredEntity createDataKey="createCustomerCart"/>
57+
</createData>
58+
<createData entity="Shipment" stepKey="shipOrder">
59+
<requiredEntity createDataKey="createCustomerCart"/>
60+
</createData>
61+
62+
<reloadPage stepKey="refreshPage"/>
63+
<actionGroup ref="AssertAdminDashboardDisplayedWithNoErrorsActionGroup" stepKey="assertAdminDashboardNotBroken"/>
64+
<grabTextFrom selector="{{AdminDashboardSection.dashboardTotals('Quantity')}}" stepKey="grabQuantityAfter"/>
65+
<assertGreaterThan stepKey="checkQuantityWasChanged">
66+
<actualResult type="const">$grabQuantityAfter</actualResult>
67+
<expectedResult type="const">$grabQuantityBefore</expectedResult>
68+
</assertGreaterThan>
69+
</test>
70+
</tests>

app/code/Magento/Backend/Test/Mftf/Test/AdminDashboardWithChartsTest.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11-
<test name="AdminDashboardWithChartsTest">
11+
<test name="AdminDashboardWithChartsTest" deprecated="Use AdminCheckDashboardWithChartsTest instead">
1212
<annotations>
1313
<features value="Backend"/>
1414
<stories value="Google Charts on Magento dashboard"/>
15-
<title value="Admin should see Google chart on Magento dashboard"/>
15+
<title value="DEPRECATED. Admin should see Google chart on Magento dashboard"/>
1616
<description value="Google chart on Magento dashboard page is displaying properly"/>
1717
<severity value="MAJOR"/>
1818
<testCaseId value="MAGETWO-98934"/>
1919
<useCaseId value="MAGETWO-98584"/>
2020
<group value="backend"/>
21+
<skip>
22+
<issueId value="DEPRECATED">Use AdminCheckDashboardWithChartsTest instead</issueId>
23+
</skip>
2124
</annotations>
2225
<before>
2326
<magentoCLI command="config:set admin/dashboard/enable_charts 1" stepKey="setEnableCharts"/>

app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ script;
200200
setLocation(url);
201201
';
202202
} else {
203-
$scriptString .= <<<script
203+
$scriptString .= <<<'script'
204204
jQuery('#preview_selected_store').val(scopeId);
205205
jQuery('#preview_form').submit();
206206

app/code/Magento/Catalog/Model/Category.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,10 @@ public function reindex()
11591159
*/
11601160
public function afterDeleteCommit()
11611161
{
1162-
$this->reindex();
1162+
if ($this->getIsActive() || $this->getDeletedChildrenIds()) {
1163+
$this->reindex();
1164+
}
1165+
11631166
return parent::afterDeleteCommit();
11641167
}
11651168

app/code/Magento/Catalog/Model/Product.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -828,9 +828,6 @@ public function getStoreIds()
828828
if (!$this->hasStoreIds()) {
829829
$storeIds = [];
830830
if ($websiteIds = $this->getWebsiteIds()) {
831-
if (!$this->isObjectNew() && $this->_storeManager->isSingleStoreMode()) {
832-
$websiteIds = array_keys($websiteIds);
833-
}
834831
foreach ($websiteIds as $websiteId) {
835832
$websiteStores = $this->_storeManager->getWebsite($websiteId)->getStoreIds();
836833
$storeIds[] = $websiteStores;

app/code/Magento/Catalog/Model/Product/Option/SaveHandler.php

Lines changed: 58 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,55 @@
77

88
namespace Magento\Catalog\Model\Product\Option;
99

10+
use Magento\Catalog\Api\Data\ProductCustomOptionInterface;
11+
use Magento\Catalog\Api\Data\ProductInterface;
1012
use Magento\Catalog\Api\ProductCustomOptionRepositoryInterface as OptionRepository;
13+
use Magento\Catalog\Model\Product\Option;
14+
use Magento\Framework\App\ObjectManager;
1115
use Magento\Framework\EntityManager\Operation\ExtensionInterface;
16+
use Magento\Catalog\Model\ResourceModel\Product\Relation;
17+
use Magento\Framework\Exception\CouldNotSaveException;
1218

1319
/**
14-
* Class SaveHandler
20+
* SaveHandler for product option
21+
*
22+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
1523
*/
1624
class SaveHandler implements ExtensionInterface
1725
{
26+
/**
27+
* @var string[]
28+
*/
29+
private $compositeProductTypes = ['grouped', 'configurable', 'bundle'];
30+
1831
/**
1932
* @var OptionRepository
2033
*/
2134
protected $optionRepository;
2235

36+
/**
37+
* @var Relation
38+
*/
39+
private $relation;
40+
2341
/**
2442
* @param OptionRepository $optionRepository
43+
* @param Relation|null $relation
2544
*/
2645
public function __construct(
27-
OptionRepository $optionRepository
46+
OptionRepository $optionRepository,
47+
?Relation $relation = null
2848
) {
2949
$this->optionRepository = $optionRepository;
50+
$this->relation = $relation ?: ObjectManager::getInstance()->get(Relation::class);
3051
}
3152

3253
/**
3354
* Perform action on relation/extension attribute
3455
*
3556
* @param object $entity
3657
* @param array $arguments
37-
* @return \Magento\Catalog\Api\Data\ProductInterface|object
58+
* @return ProductInterface|object
3859
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3960
*/
4061
public function execute($entity, $arguments = [])
@@ -47,20 +68,19 @@ public function execute($entity, $arguments = [])
4768
$optionIds = [];
4869

4970
if ($options) {
50-
$optionIds = array_map(function ($option) {
51-
/** @var \Magento\Catalog\Model\Product\Option $option */
71+
$optionIds = array_map(function (Option $option) {
5272
return $option->getOptionId();
5373
}, $options);
5474
}
5575

56-
/** @var \Magento\Catalog\Api\Data\ProductInterface $entity */
76+
/** @var ProductInterface $entity */
5777
foreach ($this->optionRepository->getProductOptions($entity) as $option) {
5878
if (!in_array($option->getOptionId(), $optionIds)) {
5979
$this->optionRepository->delete($option);
6080
}
6181
}
6282
if ($options) {
63-
$this->processOptionsSaving($options, (bool)$entity->dataHasChangedFor('sku'), (string)$entity->getSku());
83+
$this->processOptionsSaving($options, (bool)$entity->dataHasChangedFor('sku'), $entity);
6484
}
6585

6686
return $entity;
@@ -71,15 +91,43 @@ public function execute($entity, $arguments = [])
7191
*
7292
* @param array $options
7393
* @param bool $hasChangedSku
74-
* @param string $newSku
94+
* @param ProductInterface $product
95+
* @return void
96+
* @throws CouldNotSaveException
7597
*/
76-
private function processOptionsSaving(array $options, bool $hasChangedSku, string $newSku)
98+
private function processOptionsSaving(array $options, bool $hasChangedSku, ProductInterface $product): void
7799
{
100+
$isProductHasRelations = $this->isProductHasRelations($product);
101+
/** @var ProductCustomOptionInterface $option */
78102
foreach ($options as $option) {
103+
if (!$isProductHasRelations && $option->getIsRequire()) {
104+
$message = 'Required custom options cannot be added to a simple product'
105+
. ' that is a part of a composite product.';
106+
throw new CouldNotSaveException(__($message));
107+
}
108+
79109
if ($hasChangedSku && $option->hasData('product_sku')) {
80-
$option->setProductSku($newSku);
110+
$option->setProductSku($product->getSku());
81111
}
82112
$this->optionRepository->save($option);
83113
}
84114
}
115+
116+
/**
117+
* Check if product doesn't belong to composite product
118+
*
119+
* @param ProductInterface $product
120+
* @return bool
121+
*/
122+
private function isProductHasRelations(ProductInterface $product): bool
123+
{
124+
$result = true;
125+
if (!in_array($product->getId(), $this->compositeProductTypes)
126+
&& $this->relation->getRelationsByChildren([$product->getId()])
127+
) {
128+
$result = false;
129+
}
130+
131+
return $result;
132+
}
85133
}

app/code/Magento/Catalog/Model/ResourceModel/Category.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,10 @@ protected function _beforeDelete(\Magento\Framework\DataObject $object)
232232
*/
233233
protected function _afterDelete(DataObject $object)
234234
{
235-
$this->indexerProcessor->markIndexerAsInvalid();
235+
if ($object->getIsActive() || $object->getDeletedChildrenIds()) {
236+
$this->indexerProcessor->markIndexerAsInvalid();
237+
}
238+
236239
return parent::_afterDelete($object);
237240
}
238241

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminExpandProductDesignSectionActionGroup">
12+
<annotations>
13+
<description>Expand the Design section on the Product Details page in Admin.</description>
14+
</annotations>
15+
16+
<click selector="{{ProductDesignSection.DesignTab}}" stepKey="clickDesignTab"/>
17+
<waitForPageLoad stepKey="waitForTabOpen"/>
18+
</actionGroup>
19+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Test/AdminCreateSimpleProductTest/AdminConfigDefaultProductLayoutFromConfigurationSettingTest.xml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
* See COPYING.txt for license details.
66
*/
77
-->
8-
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9-
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
8+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
1010
<test name="AdminConfigDefaultProductLayoutFromConfigurationSettingTest">
1111
<annotations>
1212
<features value="Catalog"/>
@@ -21,18 +21,29 @@
2121
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
2222
</before>
2323
<after>
24-
<actionGroup ref="RestoreLayoutSetting" stepKey="sampleActionGroup"/>
24+
<actionGroup ref="NavigateToDefaultLayoutsSettingActionGroup" stepKey="navigateToWebConfigurationPage1"/>
25+
<actionGroup ref="AdminSetProductLayoutSettingsActionGroup" stepKey="sampleActionGroup">
26+
<argument name="layout" value="1 column"/>
27+
</actionGroup>
28+
<actionGroup ref="CliCacheFlushActionGroup" stepKey="flushCacheBeforeTestFinishes">
29+
<argument name="tags" value="config"/>
30+
</actionGroup>
2531
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
2632
</after>
27-
<actionGroup ref="AdminOpenWebConfigurationPageActionGroup" stepKey="navigateToWebConfigurationPage"/>
28-
<conditionalClick stepKey="expandDefaultLayouts" selector="{{WebSection.DefaultLayoutsTab}}" dependentSelector="{{WebSection.CheckIfTabExpand}}" visible="true"/>
29-
<waitForElementVisible selector="{{DefaultLayoutsSection.productLayout}}" stepKey="DefaultProductLayout"/>
30-
<selectOption selector="{{DefaultLayoutsSection.productLayout}}" userInput="3 columns" stepKey="select3ColumnsLayout"/>
31-
<click selector="{{ContentManagementSection.Save}}" stepKey="clickSaveConfig"/>
32-
<amOnPage url="{{AdminProductCreatePage.url(AddToDefaultSet.attributeSetId, 'simple')}}" stepKey="navigateToNewProduct"/>
33-
<waitForPageLoad stepKey="wait1"/>
34-
<click selector="{{ProductDesignSection.DesignTab}}" stepKey="clickOnDesignTab"/>
35-
<waitForElementVisible selector="{{ProductDesignSection.LayoutDropdown}}" stepKey="waitForLayoutDropDown"/>
33+
34+
<actionGroup ref="NavigateToDefaultLayoutsSettingActionGroup" stepKey="navigateToWebConfigurationPage"/>
35+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="expandDefaultLayouts"/>
36+
<comment userInput="Comment is added to preserve the step key for backward compatibilityr" stepKey="DefaultProductLayout"/>
37+
<actionGroup ref="AdminSetProductLayoutSettingsActionGroup" stepKey="select3ColumnsLayout">
38+
<argument name="layout" value="3 columns"/>
39+
</actionGroup>
40+
<actionGroup ref="CliCacheFlushActionGroup" stepKey="clickSaveConfig">
41+
<argument name="tags" value="config"/>
42+
</actionGroup>
43+
<actionGroup ref="AdminOpenNewProductFormPageActionGroup" stepKey="navigateToNewProduct"/>
44+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="wait1"/>
45+
<actionGroup ref="AdminExpandProductDesignSectionActionGroup" stepKey="clickOnDesignTab"/>
46+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="waitForLayoutDropDown"/>
3647
<seeOptionIsSelected selector="{{ProductDesignSection.LayoutDropdown}}" userInput="3 columns" stepKey="see3ColumnsSelected"/>
3748
</test>
3849
</tests>

0 commit comments

Comments
 (0)