Skip to content

Commit 9b143a8

Browse files
authored
Merge branch '2.4-develop' into arrows-platform-health-delivery
2 parents bdc4581 + 078c387 commit 9b143a8

File tree

109 files changed

+3724
-675
lines changed

Some content is hidden

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

109 files changed

+3724
-675
lines changed

app/code/Magento/Bundle/Test/Mftf/Test/AdminAddDefaultImageBundleProductTest.xml

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
/**
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
66
*/
77
-->
88

@@ -18,8 +18,6 @@
1818
<testCaseId value="MC-115"/>
1919
<group value="Bundle"/>
2020
<group value="cloud"/>
21-
<!-- Excluded from PR builds due to AC-12124 -->
22-
<group value="pr_exclude"/>
2321
</annotations>
2422
<before>
2523
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>

app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Save.php

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22
/**
33
*
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
66
*/
77

88
namespace Magento\Catalog\Controller\Adminhtml\Product\Attribute;
@@ -269,6 +269,11 @@ public function execute()
269269

270270
unset($data['entity_type_id']);
271271

272+
if (array_key_exists('reset_is-default_option', $data) && $data['reset_is-default_option']) {
273+
unset($data['reset_is-default_option']);
274+
$data['default_value'] = null;
275+
}
276+
272277
$model->addData($data);
273278

274279
if (!$attributeId) {

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

+24
Original file line numberDiff line numberDiff line change
@@ -1580,4 +1580,28 @@
15801580
<requiredEntity type="product_option">ProductOptionDropDownFor2</requiredEntity>
15811581
<requiredEntity type="product_option">ProductOptionCheckboxFor2</requiredEntity>
15821582
</entity>
1583+
<entity name="ProductWithTwentyOneTextFieldOptions" type="product">
1584+
<var key="sku" entityType="product" entityKey="sku" />
1585+
<requiredEntity type="product_option">ProductOptionField</requiredEntity>
1586+
<requiredEntity type="product_option">ProductOptionField2</requiredEntity>
1587+
<requiredEntity type="product_option">ProductOptionField3</requiredEntity>
1588+
<requiredEntity type="product_option">ProductOptionField4</requiredEntity>
1589+
<requiredEntity type="product_option">ProductOptionField5</requiredEntity>
1590+
<requiredEntity type="product_option">ProductOptionField6</requiredEntity>
1591+
<requiredEntity type="product_option">ProductOptionField7</requiredEntity>
1592+
<requiredEntity type="product_option">ProductOptionField8</requiredEntity>
1593+
<requiredEntity type="product_option">ProductOptionField9</requiredEntity>
1594+
<requiredEntity type="product_option">ProductOptionField10</requiredEntity>
1595+
<requiredEntity type="product_option">ProductOptionField11</requiredEntity>
1596+
<requiredEntity type="product_option">ProductOptionField12</requiredEntity>
1597+
<requiredEntity type="product_option">ProductOptionField13</requiredEntity>
1598+
<requiredEntity type="product_option">ProductOptionField14</requiredEntity>
1599+
<requiredEntity type="product_option">ProductOptionField15</requiredEntity>
1600+
<requiredEntity type="product_option">ProductOptionField16</requiredEntity>
1601+
<requiredEntity type="product_option">ProductOptionField17</requiredEntity>
1602+
<requiredEntity type="product_option">ProductOptionField18</requiredEntity>
1603+
<requiredEntity type="product_option">ProductOptionField19</requiredEntity>
1604+
<requiredEntity type="product_option">ProductOptionField20</requiredEntity>
1605+
<requiredEntity type="product_option">ProductOptionField21</requiredEntity>
1606+
</entity>
15831607
</entities>

app/code/Magento/Catalog/Test/Mftf/Data/ProductOptionData.xml

+233-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
/**
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
6-
*/
7-
-->
8-
3+
/**
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
6+
*/
7+
-->
98
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
109
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
1110
<entity name="ProductOptionField" type="product_option">
@@ -32,6 +31,234 @@
3231
<data key="price_type">fixed</data>
3332
<data key="max_characters">0</data>
3433
</entity>
34+
<entity name="ProductOptionField3" type="product_option">
35+
<var key="product_sku" entityType="product" entityKey="sku" />
36+
<data key="title">OptionField3</data>
37+
<data key="sku">OptionField3</data>
38+
<data key="type">field</data>
39+
<data key="is_require">true</data>
40+
<data key="sort_order">1</data>
41+
<data key="price">20</data>
42+
<data key="priceWithDecimals">20.000000</data>
43+
<data key="price_type">fixed</data>
44+
<data key="max_characters">0</data>
45+
</entity>
46+
<entity name="ProductOptionField4" type="product_option">
47+
<var key="product_sku" entityType="product" entityKey="sku" />
48+
<data key="title">OptionField4</data>
49+
<data key="sku">OptionField4</data>
50+
<data key="type">field</data>
51+
<data key="is_require">true</data>
52+
<data key="sort_order">1</data>
53+
<data key="price">20</data>
54+
<data key="priceWithDecimals">20.000000</data>
55+
<data key="price_type">fixed</data>
56+
<data key="max_characters">0</data>
57+
</entity>
58+
<entity name="ProductOptionField5" type="product_option">
59+
<var key="product_sku" entityType="product" entityKey="sku" />
60+
<data key="title">OptionField5</data>
61+
<data key="sku">OptionField5</data>
62+
<data key="type">field</data>
63+
<data key="is_require">true</data>
64+
<data key="sort_order">1</data>
65+
<data key="price">20</data>
66+
<data key="priceWithDecimals">20.000000</data>
67+
<data key="price_type">fixed</data>
68+
<data key="max_characters">0</data>
69+
</entity>
70+
<entity name="ProductOptionField6" type="product_option">
71+
<var key="product_sku" entityType="product" entityKey="sku" />
72+
<data key="title">OptionField6</data>
73+
<data key="sku">OptionField6</data>
74+
<data key="type">field</data>
75+
<data key="is_require">true</data>
76+
<data key="sort_order">1</data>
77+
<data key="price">10</data>
78+
<data key="priceWithDecimals">10.000000</data>
79+
<data key="price_type">fixed</data>
80+
<data key="max_characters">0</data>
81+
</entity>
82+
<entity name="ProductOptionField7" type="product_option">
83+
<var key="product_sku" entityType="product" entityKey="sku" />
84+
<data key="title">OptionField7</data>
85+
<data key="sku">OptionField7</data>
86+
<data key="type">field</data>
87+
<data key="is_require">true</data>
88+
<data key="sort_order">1</data>
89+
<data key="price">20</data>
90+
<data key="priceWithDecimals">20.000000</data>
91+
<data key="price_type">fixed</data>
92+
<data key="max_characters">0</data>
93+
</entity>
94+
<entity name="ProductOptionField8" type="product_option">
95+
<var key="product_sku" entityType="product" entityKey="sku" />
96+
<data key="title">OptionField8</data>
97+
<data key="sku">OptionField8</data>
98+
<data key="type">field</data>
99+
<data key="is_require">true</data>
100+
<data key="sort_order">1</data>
101+
<data key="price">20</data>
102+
<data key="priceWithDecimals">20.000000</data>
103+
<data key="price_type">fixed</data>
104+
<data key="max_characters">0</data>
105+
</entity>
106+
<entity name="ProductOptionField9" type="product_option">
107+
<var key="product_sku" entityType="product" entityKey="sku" />
108+
<data key="title">OptionField9</data>
109+
<data key="sku">OptionField9</data>
110+
<data key="type">field</data>
111+
<data key="is_require">true</data>
112+
<data key="sort_order">1</data>
113+
<data key="price">20</data>
114+
<data key="priceWithDecimals">20.000000</data>
115+
<data key="price_type">fixed</data>
116+
<data key="max_characters">0</data>
117+
</entity>
118+
<entity name="ProductOptionField10" type="product_option">
119+
<var key="product_sku" entityType="product" entityKey="sku" />
120+
<data key="title">OptionField10</data>
121+
<data key="sku">OptionField10</data>
122+
<data key="type">field</data>
123+
<data key="is_require">true</data>
124+
<data key="sort_order">1</data>
125+
<data key="price">20</data>
126+
<data key="priceWithDecimals">20.000000</data>
127+
<data key="price_type">fixed</data>
128+
<data key="max_characters">0</data>
129+
</entity>
130+
<entity name="ProductOptionField11" type="product_option">
131+
<var key="product_sku" entityType="product" entityKey="sku" />
132+
<data key="title">OptionField11</data>
133+
<data key="sku">OptionField11</data>
134+
<data key="type">field</data>
135+
<data key="is_require">true</data>
136+
<data key="sort_order">1</data>
137+
<data key="price">10</data>
138+
<data key="priceWithDecimals">10.000000</data>
139+
<data key="price_type">fixed</data>
140+
<data key="max_characters">0</data>
141+
</entity>
142+
<entity name="ProductOptionField12" type="product_option">
143+
<var key="product_sku" entityType="product" entityKey="sku" />
144+
<data key="title">OptionField12</data>
145+
<data key="sku">OptionField12</data>
146+
<data key="type">field</data>
147+
<data key="is_require">true</data>
148+
<data key="sort_order">1</data>
149+
<data key="price">20</data>
150+
<data key="priceWithDecimals">20.000000</data>
151+
<data key="price_type">fixed</data>
152+
<data key="max_characters">0</data>
153+
</entity>
154+
<entity name="ProductOptionField13" type="product_option">
155+
<var key="product_sku" entityType="product" entityKey="sku" />
156+
<data key="title">OptionField13</data>
157+
<data key="sku">OptionField13</data>
158+
<data key="type">field</data>
159+
<data key="is_require">true</data>
160+
<data key="sort_order">1</data>
161+
<data key="price">20</data>
162+
<data key="priceWithDecimals">20.000000</data>
163+
<data key="price_type">fixed</data>
164+
<data key="max_characters">0</data>
165+
</entity>
166+
<entity name="ProductOptionField14" type="product_option">
167+
<var key="product_sku" entityType="product" entityKey="sku" />
168+
<data key="title">OptionField14</data>
169+
<data key="sku">OptionField14</data>
170+
<data key="type">field</data>
171+
<data key="is_require">true</data>
172+
<data key="sort_order">1</data>
173+
<data key="price">20</data>
174+
<data key="priceWithDecimals">20.000000</data>
175+
<data key="price_type">fixed</data>
176+
<data key="max_characters">0</data>
177+
</entity>
178+
<entity name="ProductOptionField15" type="product_option">
179+
<var key="product_sku" entityType="product" entityKey="sku" />
180+
<data key="title">OptionField15</data>
181+
<data key="sku">OptionField15</data>
182+
<data key="type">field</data>
183+
<data key="is_require">true</data>
184+
<data key="sort_order">1</data>
185+
<data key="price">20</data>
186+
<data key="priceWithDecimals">20.000000</data>
187+
<data key="price_type">fixed</data>
188+
<data key="max_characters">0</data>
189+
</entity>
190+
<entity name="ProductOptionField16" type="product_option">
191+
<var key="product_sku" entityType="product" entityKey="sku" />
192+
<data key="title">OptionField16</data>
193+
<data key="sku">OptionField16</data>
194+
<data key="type">field</data>
195+
<data key="is_require">true</data>
196+
<data key="sort_order">1</data>
197+
<data key="price">10</data>
198+
<data key="priceWithDecimals">10.000000</data>
199+
<data key="price_type">fixed</data>
200+
<data key="max_characters">0</data>
201+
</entity>
202+
<entity name="ProductOptionField17" type="product_option">
203+
<var key="product_sku" entityType="product" entityKey="sku" />
204+
<data key="title">OptionField17</data>
205+
<data key="sku">OptionField17</data>
206+
<data key="type">field</data>
207+
<data key="is_require">true</data>
208+
<data key="sort_order">1</data>
209+
<data key="price">20</data>
210+
<data key="priceWithDecimals">20.000000</data>
211+
<data key="price_type">fixed</data>
212+
<data key="max_characters">0</data>
213+
</entity>
214+
<entity name="ProductOptionField18" type="product_option">
215+
<var key="product_sku" entityType="product" entityKey="sku" />
216+
<data key="title">OptionField18</data>
217+
<data key="sku">OptionField18</data>
218+
<data key="type">field</data>
219+
<data key="is_require">true</data>
220+
<data key="sort_order">1</data>
221+
<data key="price">20</data>
222+
<data key="priceWithDecimals">20.000000</data>
223+
<data key="price_type">fixed</data>
224+
<data key="max_characters">0</data>
225+
</entity>
226+
<entity name="ProductOptionField19" type="product_option">
227+
<var key="product_sku" entityType="product" entityKey="sku" />
228+
<data key="title">OptionField19</data>
229+
<data key="sku">OptionField19</data>
230+
<data key="type">field</data>
231+
<data key="is_require">true</data>
232+
<data key="sort_order">1</data>
233+
<data key="price">20</data>
234+
<data key="priceWithDecimals">20.000000</data>
235+
<data key="price_type">fixed</data>
236+
<data key="max_characters">0</data>
237+
</entity>
238+
<entity name="ProductOptionField20" type="product_option">
239+
<var key="product_sku" entityType="product" entityKey="sku" />
240+
<data key="title">OptionField20</data>
241+
<data key="sku">OptionField20</data>
242+
<data key="type">field</data>
243+
<data key="is_require">true</data>
244+
<data key="sort_order">1</data>
245+
<data key="price">20</data>
246+
<data key="priceWithDecimals">20.000000</data>
247+
<data key="price_type">fixed</data>
248+
<data key="max_characters">0</data>
249+
</entity>
250+
<entity name="ProductOptionField21" type="product_option">
251+
<var key="product_sku" entityType="product" entityKey="sku" />
252+
<data key="title">OptionField21</data>
253+
<data key="sku">OptionField21</data>
254+
<data key="type">field</data>
255+
<data key="is_require">true</data>
256+
<data key="sort_order">1</data>
257+
<data key="price">20</data>
258+
<data key="priceWithDecimals">20.000000</data>
259+
<data key="price_type">fixed</data>
260+
<data key="max_characters">0</data>
261+
</entity>
35262
<entity name="ProductOptionArea" type="product_option">
36263
<var key="product_sku" entityType="product" entityKey="sku" />
37264
<data key="title">OptionArea</data>

app/code/Magento/Catalog/Test/Mftf/Section/AdminCreateProductAttributeSection/AttributePropertiesSection.xml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
/**
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
66
*/
77
-->
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -34,5 +34,6 @@
3434
<element name="attributeLabelValidationError" type="text" selector=".field-attribute_label .mage-error"/>
3535
<element name="AttributeCode" type="input" selector="#attribute_code"/>
3636
<element name="defaultRadioButton" type="radio" selector="//*[@id='swatch_window_option_option_{{position}}']/parent::td/parent::tr/td[@class='col-default']" parameterized="true"/>
37+
<element name="resetDefaultSwatchVisualOptionButton" type="button" selector="#reset_default_swatch_visual_option_button" />
3738
</section>
3839
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductFormAdvancedPricingSection.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<!--
33
/**
44
* Copyright 2024 Adobe.
5-
* All Rights Reserved.
5+
* All Rights Reserved.
66
*/
77
-->
88

@@ -21,6 +21,8 @@
2121
<element name="productTierPriceFixedPriceInput" type="input" selector="[name='product[tier_price][{{var1}}][price]']" parameterized="true"/>
2222
<element name="productTierPricePercentageValuePriceInput" type="input" selector="[name='product[tier_price][{{var1}}][percentage_value]']" parameterized="true"/>
2323
<element name="specialPrice" type="input" selector="input[name='product[special_price]']"/>
24+
<element name="specialPriceFrom" type="input" selector="input[name='product[special_from_date]']"/>
25+
<element name="specialPriceTo" type="input" selector="input[name='product[special_to_date]']"/>
2426
<element name="cost" type="input" selector="//input[@name='product[cost]']"/>
2527
<element name="doneButton" type="button" selector=".product_form_product_form_advanced_pricing_modal button.action-primary" timeout="30"/>
2628
<element name="msrp" type="input" selector="//input[@name='product[msrp]']" timeout="30"/>

app/code/Magento/Catalog/Test/Mftf/Section/StorefrontCategoryProductSection.xml

+1
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,6 @@
4141
<element name="filterOptionCurrencySymbol" type="text" selector="//div[@class='filter-options-content']//a//span[@class='price' and contains(text(),'{{currencySymbol}}')]" parameterized="true"/>
4242
<element name="priceDropdown" type="button" selector="//div[@class='filter-options-title']"/>
4343
<element name="priceBlockShoppingOptions" type="block" selector="//div[@class='filter-options-content']"/>
44+
<element name="widgetProduct" type="text" selector="//main//ol[@class='product-items widget-product-grid']//a[contains(text(), '{{productName}}')]" parameterized="true"/>
4445
</section>
4546
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/StorefrontProductMediaSection.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
/**
4-
* Copyright © Magento, Inc. All rights reserved.
5-
* See COPYING.txt for license details.
4+
* Copyright 2024 Adobe
5+
* All Rights Reserved.
66
*/
77
-->
88

@@ -16,7 +16,7 @@
1616
<element name="productImageFullscreen" type="text" selector="//*[@data-gallery-role='gallery' and contains(@class, 'fullscreen')]//img[contains(@src, '{{filename}}') and contains(@class, 'full')]" parameterized="true" />
1717
<element name="closeFullscreenImage" type="button" selector="//*[@data-gallery-role='gallery' and contains(@class, 'fullscreen')]//*[@data-gallery-role='fotorama__fullscreen-icon']" />
1818
<element name="imageFile" type="text" selector="//div[contains(@class, 'fotorama__active')]//img[contains(@src, '{{filename}}')]" parameterized="true"/>
19-
<element name="imageFileInGallery" type="text" selector="//div[contains(@class, 'fotorama__loaded--img')]//img[contains(@src, '{{filename}}')]" parameterized="true"/>
19+
<element name="imageFileInGallery" type="text" selector="//div[contains(@class, 'gallery-placeholder')]//img[contains(@src, '{{filename}}')]" parameterized="true"/>
2020
<element name="productImageActive" type="text" selector=".product.media div[data-active=true] > img[src*='{{filename}}']" parameterized="true"/>
2121
<element name="productImageInFotorama" type="file" selector=".fotorama__nav__shaft img[src*='{{imageName}}']" parameterized="true" timeout="30"/>
2222
<element name="fotoramaPrevButton" type="button" selector="//*[@data-gallery-role='gallery']//*[@data-gallery-role='nav-wrap']//*[@data-gallery-role='arrow' and contains(@class, 'fotorama__thumb__arr--left')]" timeout="30"/>

0 commit comments

Comments
 (0)