Skip to content

Commit 71428b5

Browse files
authored
Merge branch '2.4-develop' into fix-missing-vatid-at-multishipping-registration-page
2 parents c9bcf3d + 63434d2 commit 71428b5

File tree

85 files changed

+2019
-255
lines changed

Some content is hidden

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

85 files changed

+2019
-255
lines changed

app/code/Magento/Bundle/Test/Unit/Model/Product/TypeTest.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
use Magento\Bundle\Model\Product\Type;
1212
use Magento\Bundle\Model\ResourceModel\BundleFactory;
1313
use Magento\Bundle\Model\ResourceModel\Option\Collection;
14-
use Magento\CatalogRule\Model\ResourceModel\Product\CollectionProcessor;
1514
use Magento\Bundle\Model\ResourceModel\Selection\Collection as SelectionCollection;
1615
use Magento\Bundle\Model\ResourceModel\Selection\CollectionFactory;
1716
use Magento\Bundle\Model\Selection;
@@ -28,6 +27,7 @@
2827
use Magento\CatalogInventory\Api\StockStateInterface;
2928
use Magento\CatalogInventory\Model\StockRegistry;
3029
use Magento\CatalogInventory\Model\StockState;
30+
use Magento\CatalogRule\Model\ResourceModel\Product\CollectionProcessor;
3131
use Magento\Framework\DataObject;
3232
use Magento\Framework\EntityManager\EntityMetadataInterface;
3333
use Magento\Framework\EntityManager\MetadataPool;
@@ -1548,6 +1548,10 @@ public function testPrepareForCartAdvancedSpecifyProductOptions()
15481548
->disableOriginalConstructor()
15491549
->getMock();
15501550

1551+
$buyRequest->method('getOptions')
1552+
->willReturn([333 => ['type' => 'image/jpeg']]);
1553+
$option->method('getId')
1554+
->willReturn(333);
15511555
$this->parentClass($group, $option, $buyRequest, $product);
15521556

15531557
$product->expects($this->any())
@@ -1556,6 +1560,8 @@ public function testPrepareForCartAdvancedSpecifyProductOptions()
15561560
$buyRequest->expects($this->once())
15571561
->method('getBundleOption')
15581562
->willReturn([0, '', 'str']);
1563+
$group->expects($this->once())
1564+
->method('validateUserValue');
15591565

15601566
$result = $this->model->prepareForCartAdvanced($buyRequest, $product);
15611567
$this->assertEquals('Please specify product option(s).', $result);

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

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6-
declare(strict_types=1);
76

87
namespace Magento\Catalog\Model\Product\Type;
98

@@ -605,7 +604,11 @@ protected function _prepareOptions(\Magento\Framework\DataObject $buyRequest, $p
605604
if ($product->getSkipCheckRequiredOption() !== true) {
606605
$group->validateUserValue($optionsFromRequest);
607606
} elseif ($optionsFromRequest !== null && isset($optionsFromRequest[$option->getId()])) {
608-
$transport->options[$option->getId()] = $optionsFromRequest[$option->getId()];
607+
if (is_array($optionsFromRequest[$option->getId()])) {
608+
$group->validateUserValue($optionsFromRequest);
609+
} else {
610+
$transport->options[$option->getId()] = $optionsFromRequest[$option->getId()];
611+
}
609612
}
610613

611614
} catch (LocalizedException $e) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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="AdminChangeWebSiteAssignedToProductActionGroup" extends="AddWebsiteToProductActionGroup">
12+
<annotations>
13+
<description>Extends AddWebsiteToProductActionGroup. Changes website assigned to product from websiteToDeselect to website</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="websiteToDeselect" type="string"/>
17+
</arguments>
18+
19+
<uncheckOption selector="{{ProductInWebsitesSection.website(websiteToDeselect)}}" stepKey="uncheckWebsite" after="checkWebsite"/>
20+
</actionGroup>
21+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
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-
-->
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+
-->
88

9-
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10-
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11-
<actionGroup name="AdminCheckProductOnProductGridActionGroup">
12-
<annotations>
13-
<description>Check the checkbox for the product on the Product Grid</description>
14-
</annotations>
15-
<arguments>
16-
<argument name="product" type="entity"/>
17-
</arguments>
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminCheckProductOnProductGridActionGroup">
11+
<annotations>
12+
<description>Check the checkbox for the product on the Product Grid</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="product" type="entity"/>
16+
</arguments>
1817

19-
<checkOption selector="{{AdminProductGridSection.productRowCheckboxBySku(product.sku)}}" stepKey="selectProduct"/>
18+
<checkOption selector="{{AdminProductGridSection.productRowCheckboxBySku(product.sku)}}" stepKey="selectProduct"/>
2019

21-
</actionGroup>
22-
</actionGroups>
20+
</actionGroup>
21+
</actionGroups>
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="AdminSetPriceForMassUpdateActionGroup">
12+
<annotations>
13+
<description>Click the "Change" checkbox for the "Price" field. Set new price.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="price" type="string"/>
17+
</arguments>
18+
19+
<scrollTo stepKey="scrollToPriceCheckBox" selector="{{AdminEditProductAttributesSection.ChangeAttributePriceToggle}}" x="0" y="-160"/>
20+
<click selector="{{AdminEditProductAttributesSection.ChangeAttributePriceToggle}}" stepKey="selectPriceCheckBox"/>
21+
<fillField stepKey="fillPrice" selector="{{AdminEditProductAttributesSection.AttributePrice}}" userInput="{{price}}"/>
22+
23+
</actionGroup>
24+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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="AdminSortProductsGridByActionGroup">
12+
<annotations>
13+
<description>Sorts the Product Grid by field</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="field" type="string"/>
17+
</arguments>
18+
19+
<click selector="{{AdminProductGridSection.columnHeader(field)}}" stepKey="clickWebsitesHeaderToSort"/>
20+
<waitForLoadingMaskToDisappear stepKey="waitForApplyingChanges"/>
21+
</actionGroup>
22+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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="AssertAdminProductPriceUpdatedOnEditPageActionGroup" extends="OpenEditProductOnBackendActionGroup">
12+
<annotations>
13+
<description>Validate if Product price is updated on the Product creation/edit page</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="product" type="entity"/>
17+
<argument name="price" type="string"/>
18+
</arguments>
19+
20+
<waitForPageLoad stepKey="waitForProductToLoad"/>
21+
<seeInField selector="{{AdminProductFormSection.productName}}" userInput="{{product.name}}" stepKey="seeProductName"/>
22+
<seeInField selector="{{AdminProductFormSection.productSku}}" userInput="{{product.sku}}" stepKey="seeProductSku"/>
23+
<seeInField selector="{{AdminProductFormSection.productPrice}}" userInput="{{price}}" stepKey="seeProductPrice"/>
24+
</actionGroup>
25+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Test/AddOutOfStockProductToCompareListTest.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
<comment userInput="Clear cache and reindex | Comment is kept to preserve the step key for backward compatibility" stepKey="cleanCache"/>
5858
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
59-
<argument name="indices" value=""/>
59+
<argument name="indices" value="catalog_product_price"/>
6060
</actionGroup>
6161
<actionGroup ref="CliCacheFlushActionGroup" stepKey="flushCache">
6262
<argument name="tags" value=""/>

app/code/Magento/Catalog/Test/Mftf/Test/AdminAddInStockProductToTheCartTest.xml

+1-4
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@
5858
<actionGroup ref="AdminSubmitAdvancedInventoryFormActionGroup" stepKey="clickOnDoneButton"/>
5959
<actionGroup ref="AdminProductFormSaveActionGroup" stepKey="clickOnSaveButton"/>
6060
<see selector="{{AdminCategoryMessagesSection.SuccessMessage}}" userInput="You saved the product." stepKey="messageYouSavedTheProductIsShown"/>
61-
<!--Clear cache and reindex-->
62-
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
63-
<argument name="indices" value=""/>
64-
</actionGroup>
61+
<comment userInput="Adding the comment to replace CliIndexerReindexActionGroup action group ('indexer:reindex' commands) for preserving Backward Compatibility" stepKey="reindex"/>
6562
<actionGroup ref="CliCacheFlushActionGroup" stepKey="flushCache">
6663
<argument name="tags" value=""/>
6764
</actionGroup>

app/code/Magento/Catalog/Test/Mftf/Test/AdminCheckCustomAttributeValuesAfterProductSaveTest.xml

+1-3
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@
3333
</createData>
3434
<!-- Create simple product -->
3535
<createData entity="SimpleProduct2" stepKey="createSimpleProduct"/>
36-
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindexCatalogSearch">
37-
<argument name="indices" value="catalogsearch_fulltext"/>
38-
</actionGroup>
36+
<comment userInput="Adding the comment to replace CliIndexerReindexActionGroup action group ('indexer:reindex' commands) for preserving Backward Compatibility" stepKey="reindexCatalogSearch"/>
3937
<!-- Login to Admin page -->
4038
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
4139
</before>

app/code/Magento/Catalog/Test/Mftf/Test/AdminMassProductPriceUpdateTest.xml

+42-34
Original file line numberDiff line numberDiff line change
@@ -29,52 +29,60 @@
2929
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
3030
</after>
3131

32-
<!--Open Product Index Page-->
3332
<actionGroup ref="AdminOpenProductIndexPageActionGroup" stepKey="navigateToProductIndex"/>
3433

35-
<!--Search products using keyword -->
36-
<actionGroup ref="SearchProductGridByKeyword2ActionGroup" stepKey="searchByKeyword">
37-
<argument name="keyword" value="Testp"/>
38-
</actionGroup>
34+
<actionGroup ref="ClearFiltersAdminProductGridActionGroup" stepKey="searchByKeyword"/>
3935

40-
<!--Sort Products by ID in descending order-->
4136
<actionGroup ref="SortProductsByIdDescendingActionGroup" stepKey="sortProductsByIdDescending"/>
4237

43-
<!--Select products-->
44-
<checkOption selector="{{AdminProductGridSection.productRowCheckboxBySku($$simpleProduct1.sku$$)}}" stepKey="selectFirstProduct"/>
45-
<checkOption selector="{{AdminProductGridSection.productRowCheckboxBySku($$simpleProduct2.sku$$)}}" stepKey="selectSecondProduct"/>
38+
<actionGroup ref="AdminCheckProductOnProductGridActionGroup" stepKey="selectFirstProduct">
39+
<argument name="product" value="$simpleProduct1$"/>
40+
</actionGroup>
41+
<actionGroup ref="AdminCheckProductOnProductGridActionGroup" stepKey="selectSecondProduct">
42+
<argument name="product" value="$simpleProduct2$"/>
43+
</actionGroup>
44+
45+
<actionGroup ref="AdminClickMassUpdateProductAttributesActionGroup" stepKey="clickDropdown"/>
46+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="clickChangeStatus"/>
47+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="waitForProductAttributePageToLoad"/>
4648

47-
<!-- Update product price-->
48-
<click selector="{{AdminProductGridSection.bulkActionDropdown}}" stepKey="clickDropdown"/>
49-
<click selector="{{AdminProductGridSection.bulkActionOption('Update attributes')}}" stepKey="clickChangeStatus"/>
50-
<waitForPageLoad stepKey="waitForProductAttributePageToLoad"/>
51-
<scrollTo stepKey="scrollToPriceCheckBox" selector="{{AdminEditProductAttributesSection.ChangeAttributePriceToggle}}" x="0" y="-160"/>
52-
<click selector="{{AdminEditProductAttributesSection.ChangeAttributePriceToggle}}" stepKey="selectPriceCheckBox"/>
53-
<fillField stepKey="fillPrice" selector="{{AdminEditProductAttributesSection.AttributePrice}}" userInput="90.99"/>
54-
<click stepKey="clickOnSaveButton" selector="{{AdminEditProductAttributesSection.Save}}"/>
55-
<waitForPageLoad stepKey="waitForUpdatedProductToSave" />
56-
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="Message is added to queue" stepKey="seeAttributeUpateSuccessMsg"/>
49+
<actionGroup ref="AdminSetPriceForMassUpdateActionGroup" stepKey="scrollToPriceCheckBox">
50+
<argument name="price" value="90.99"/>
51+
</actionGroup>
52+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="selectPriceCheckBox"/>
53+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="fillPrice"/>
54+
55+
<actionGroup ref="AdminSaveProductsMassAttributesUpdateActionGroup" stepKey="clickOnSaveButton"/>
56+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="waitForUpdatedProductToSave"/>
57+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeAttributeUpateSuccessMsg"/>
5758

58-
<!-- Start message queue -->
5959
<actionGroup ref="CliConsumerStartActionGroup" stepKey="startMessageQueueConsumer">
6060
<argument name="consumerName" value="{{AdminProductAttributeUpdateConsumerData.consumerName}}"/>
6161
<argument name="maxMessages" value="{{AdminProductAttributeUpdateConsumerData.messageLimit}}"/>
6262
</actionGroup>
63-
<!-- Run cron -->
63+
6464
<magentoCLI command="cron:run --group=index" stepKey="runCron"/>
6565

66-
<!--Verify product name, sku and updated price-->
67-
<click stepKey="openFirstProduct" selector="{{AdminProductGridSection.productRowBySku($$simpleProduct1.sku$$)}}"/>
68-
<waitForPageLoad stepKey="waitForFirstProductToLoad"/>
69-
<seeInField stepKey="seeFirstProductNameInField" selector="{{AdminProductFormSection.productName}}" userInput="$$simpleProduct1.name$$"/>
70-
<seeInField stepKey="seeFirstProductSkuInField" selector="{{AdminProductFormSection.productSku}}" userInput="$$simpleProduct1.sku$$"/>
71-
<seeInField stepKey="seeFirstProductPriceInField" selector="{{AdminProductFormSection.productPrice}}" userInput="90.99"/>
72-
<click stepKey="clickOnBackButton" selector="{{AdminGridMainControls.back}}"/>
73-
<waitForPageLoad stepKey="waitForProductsToLoad"/>
74-
<click stepKey="openSecondProduct" selector="{{AdminProductGridSection.productRowBySku($$simpleProduct2.sku$$)}}"/>
75-
<waitForPageLoad stepKey="waitForSecondProductToLoad"/>
76-
<seeInField stepKey="seeSecondProductNameInField" selector="{{AdminProductFormSection.productName}}" userInput="$$simpleProduct2.name$$"/>
77-
<seeInField stepKey="seeSecondProductSkuInField" selector="{{AdminProductFormSection.productSku}}" userInput="$$simpleProduct2.sku$$"/>
78-
<seeInField stepKey="seeSecondProductPriceInField" selector="{{AdminProductFormSection.productPrice}}" userInput="90.99"/>
66+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="openFirstProduct"/>
67+
<actionGroup ref="AssertAdminProductPriceUpdatedOnEditPageActionGroup" stepKey="waitForFirstProductToLoad">
68+
<argument name="product" value="$$simpleProduct1$$"/>
69+
<argument name="price" value="90.99"/>
70+
</actionGroup>
71+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeFirstProductNameInField"/>
72+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeFirstProductSkuInField"/>
73+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeFirstProductPriceInField"/>
74+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="clickOnBackButton"/>
75+
76+
<actionGroup ref="AdminOpenProductIndexPageActionGroup" stepKey="waitForProductsToLoad"/>
77+
78+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="openSecondProduct"/>
79+
<actionGroup ref="AssertAdminProductPriceUpdatedOnEditPageActionGroup" stepKey="waitForSecondProductToLoad">
80+
<argument name="product" value="$$simpleProduct2$$"/>
81+
<argument name="price" value="90.99"/>
82+
</actionGroup>
83+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeSecondProductNameInField"/>
84+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeSecondProductSkuInField"/>
85+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="seeSecondProductPriceInField"/>
86+
7987
</test>
8088
</tests>

app/code/Magento/Catalog/Test/Mftf/Test/AdminSimpleProductImagesTest/AdminSimpleProductImagesTest.xml

+1-3
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,7 @@
141141

142142
<!-- Save the second product -->
143143
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="saveProduct2"/>
144-
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
145-
<argument name="indices" value=""/>
146-
</actionGroup>
144+
<comment userInput="Adding the comment to replace CliIndexerReindexActionGroup action group ('indexer:reindex' commands) for preserving Backward Compatibility" stepKey="reindex"/>
147145
<actionGroup ref="CliCacheFlushActionGroup" stepKey="flushCache">
148146
<argument name="tags" value=""/>
149147
</actionGroup>

0 commit comments

Comments
 (0)