Skip to content

Commit 96ea855

Browse files
Merge branch '2.4-develop' into PR_2025_09_25_muntianu
2 parents a373135 + 59ff8f4 commit 96ea855

File tree

54 files changed

+817
-528
lines changed

Some content is hidden

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

54 files changed

+817
-528
lines changed

app/code/Magento/Catalog/Test/Mftf/ActionGroup/StorefrontAssertProductInRecentlyOrderedWidgetActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
</arguments>
1818

1919
<waitForElementVisible selector="{{StorefrontWidgetsSection.widgetRecentlyOrderedProductsGrid}}" stepKey="waitWidgetRecentlyOrderedProductsGrid"/>
20-
<see selector="{{StorefrontWidgetsSection.widgetRecentlyOrderedProductsGrid}}" userInput="{{product.name}}" stepKey="seeProductInRecentlyOrderedWidget"/>
20+
<waitForText selector="{{StorefrontWidgetsSection.widgetRecentlyOrderedProductsGrid}}" userInput="{{product.name}}" stepKey="seeProductInRecentlyOrderedWidget"/>
2121
</actionGroup>
2222
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/ActionGroup/StorefrontAssertProductInRecentlyViewedWidgetActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
</arguments>
1919

2020
<waitForElementVisible selector="{{StorefrontWidgetsSection.widgetRecentlyViewedProductsGrid}}" stepKey="waitWidgetRecentlyViewedProductsGrid"/>
21-
<see selector="{{StorefrontWidgetsSection.widgetRecentlyViewedProductsGrid}}" userInput="{{product.name}}" stepKey="seeProductInRecentlyViewedWidget"/>
21+
<waitForText selector="{{StorefrontWidgetsSection.widgetRecentlyViewedProductsGrid}}" userInput="{{product.name}}" stepKey="seeProductInRecentlyViewedWidget"/>
2222
</actionGroup>
2323
</actionGroups>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<element name="productPriceLinkAfterLabel" type="text" selector="//span[@class='price-label'][contains(text(),'{{var1}}')]/following::span[contains(text(), '{{var2}}')]" parameterized="true"/>
3232
<element name="ProductAddToCartByName" type="button" selector="//main//li[.//a[contains(text(), '{{var1}}')]]//a[contains(@class, 'tocart')]" parameterized="true"/>
3333
<!--<element name="ProductAddToCompareByName" type="text" selector="//main//li[.//a[contains(text(), '{{var1}}')]]//a[contains(@class, 'tocompare')]" parameterized="true"/>-->
34-
<element name="ProductAddToCompareByName" type="text" selector="//*[contains(@class,'product-item-info')][descendant::a[contains(text(), '{{var1}}')]]//a[contains(@class, 'tocompare')]" parameterized="true"/>
34+
<element name="ProductAddToCompareByName" type="text" selector="//*[contains(@class,'product-item-info')][descendant::a[contains(text(), '{{var1}}')]]//*[(name()='a' or name()='button') and contains(@class, 'tocompare')]" parameterized="true"/>
3535
<element name="ProductImageByNameAndSrc" type="text" selector="//main//li[.//a[contains(text(), '{{var1}}')]]//img[contains(@src, '{{src}}')]" parameterized="true"/>
3636
<element name="ProductStockUnavailable" type="text" selector="//*[text()='Out of stock']"/>
3737
<element name="listedProductOnProductPage" type="block" selector="//div[contains(@aria-labelledBy,'{{attribute_code}}')]//div[@aria-label='{{attribute_name}}']" parameterized="true"/>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<element name="asLowAsLabel" type="input" selector="//strong[@id='block-related-heading']/following::span[@class='price-label'][1]"/>
3737
<element name="asLowAsLabelAgain" type="input" selector="//strong[@id='block-related-heading']/following::span[@class='price-label'][2]"/>
3838
<element name="specialPriceValue" type="text" selector="//span[@class='special-price']//span[@class='price']"/>
39-
<element name="mapPrice" type="text" selector="//div[@class='price-box price-final_price']//span[contains(@class, 'price-msrp_price')]"/>
39+
<element name="mapPrice" type="text" selector="//div[@class='price-box price-final_price']//span[contains(@class, 'price-msrp_price')]//span"/>
4040
<element name="clickForPriceLink" type="text" selector="//div[@class='price-box price-final_price']//a[contains(text(), 'Click for price')]"/>
4141
<element name="addReviewLink" type="text" selector="//div[@class='reviews-actions']//a[@class='action add']"/>
4242
<element name="fptPrice" type="text" selector=".//*[@class='weee']/span"/>

app/code/Magento/Catalog/Test/Unit/Block/Widget/LinkTest.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,17 @@ public function testStoreCodeShouldBeIncludedInURLOnlyIfItIsConfiguredSo(
195195
[
196196
[Store::XML_PATH_USE_REWRITES, ReinitableConfigInterface::SCOPE_TYPE_DEFAULT, null, true],
197197
[Store::XML_PATH_UNSECURE_BASE_LINK_URL, ScopeConfigInterface::SCOPE_TYPE_DEFAULT, null, ''],
198+
]
199+
);
200+
$config->expects($this->any())
201+
->method('isSetFlag')
202+
->willReturnMap(
203+
[
198204
[
199205
Store::XML_PATH_STORE_IN_URL,
200206
ReinitableConfigInterface::SCOPE_TYPE_DEFAULT,
201-
null, $includeStoreCode
207+
null,
208+
$includeStoreCode
202209
]
203210
]
204211
);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
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="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup">
12+
<annotations>
13+
<description>Removes the product in multi address checkout page.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="sequenceNumber" type="string" defaultValue="1"/>
17+
</arguments>
18+
<waitForPageLoad stepKey="waitForCartSummaryPageToLoad"/>
19+
<waitForElementClickable selector="{{MultishippingSection.removeItemLink(sequenceNumber)}}" stepKey="waitForRemoveLinkClickable"/>
20+
<click selector="{{MultishippingSection.removeItemLink('sequenceNumber')}}" stepKey="clickOnRemoveItemLink"/>
21+
</actionGroup>
22+
</actionGroups>
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
6+
*/
7+
-->
8+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
9+
<test name="StorefrontAssertAddressDisappearanceAfterItemRemovalTest">
10+
<annotations>
11+
<features value="Multishipment"/>
12+
<stories value="Checkout with multiple addresses"/>
13+
<title value="Verifies address retention on item removal in multi-shipping checkout"/>
14+
<description value="Addresses vanish from multi-shipping checkout when multiple items are removed from the cart"/>
15+
<severity value="MAJOR"/>
16+
<testCaseId value="AC-15541"/>
17+
<group value="Multishipment"/>
18+
</annotations>
19+
<before>
20+
<!-- Precondition Step 1: Create a Simple Product -->
21+
<createData entity="SimpleProduct" stepKey="createProduct"/>
22+
<!-- Precondition Step 2: A registered customer with at least 3 registered addresses. -->
23+
<createData entity="Simple_Customer_Multiple_Addresses" stepKey="createCustomer"/>
24+
</before>
25+
<after>
26+
<!-- Delete data -->
27+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
28+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
29+
<!--Logout from customer account-->
30+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutStorefront"/>
31+
<!--Logout from admin account-->
32+
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
33+
</after>
34+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
35+
<!-- Step 1: Login as Storefront Customer -->
36+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="customerLogin">
37+
<argument name="Customer" value="$$createCustomer$$"/>
38+
</actionGroup>
39+
<!-- Step 2: Open the simple product page -->
40+
<actionGroup ref="StorefrontAddSimpleProductWithQtyActionGroup" stepKey="addProductOneToCart">
41+
<argument name="product" value="$$createProduct$$"/>
42+
<argument name="quantity" value="3"/>
43+
</actionGroup>
44+
<!-- Step 3: From mini cart click `View and Edit Cart` link-->
45+
<actionGroup ref="StorefrontClickOnMiniCartActionGroup" stepKey="clickOnMiniCart"/>
46+
<actionGroup ref="ClickViewAndEditCartFromMiniCartActionGroup" stepKey="goToShoppingCartFromMiniCart"/>
47+
<waitForPageLoad stepKey="waitForViewAndEditCartToOpen"/>
48+
<!-- Step 4: Click Link `Checkout with Multiple Addresses -->
49+
<click stepKey="clickOnCheckoutWithMultipleAddresses" selector="{{MultishippingSection.checkoutWithMultipleAddresses}}"/>
50+
<waitForPageLoad stepKey="waitForMultiCheckoutPageToLoad"/>
51+
<!-- Step 5: Select different addresses for each item -->
52+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectCAAddress">
53+
<argument name="sequenceNumber" value="3"/>
54+
<argument name="option" value="{{Customer_Address.ca_address}}"/>
55+
</actionGroup>
56+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectNYAddress">
57+
<argument name="sequenceNumber" value="2"/>
58+
<argument name="option" value="{{Customer_Address.ny_address}}"/>
59+
</actionGroup>
60+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectBRAddress">
61+
<argument name="sequenceNumber" value="1"/>
62+
<argument name="option" value="{{Customer_Address.br_address}}"/>
63+
</actionGroup>
64+
<actionGroup ref="StorefrontUpdateMultishippingItemsQuantityAndAddressesActionGroup" stepKey="clickOnUpdateQtyAndAddress"/>
65+
<!-- Step 6: Now click Remove Item link one by one for each item -->
66+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeFirstItem">
67+
<argument name="sequenceNumber" value="1"/>
68+
</actionGroup>
69+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeSecondItem">
70+
<argument name="sequenceNumber" value="2"/>
71+
</actionGroup>
72+
<waitForPageLoad stepKey="waitForCartSummaryPageToLoadAfterRemovalOfFirstItem"/>
73+
<!-- Remove the last item -->
74+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeThirdItem"/>
75+
</test>
76+
</tests>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
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="AdminSelectRecentlyViewedProductWidgetFromInsertWidgetSlideOutActionGroup" extends="AdminInsertRecentlyViewedWidgetActionGroup">
12+
<annotations>
13+
<description>Fills out the Widget Options form for the Recently Viewed Products widget from the Insert Widget slide out.</description>
14+
</annotations>
15+
<remove keyForRemoval="expandContentSectionIfNotVisible"/>
16+
<remove keyForRemoval="clickNextShowHideEditorIfVisible"/>
17+
<remove keyForRemoval="checkCMSContent"/>
18+
<remove keyForRemoval="clickNextSave"/>
19+
<remove keyForRemoval="waitForPageActionSave"/>
20+
<remove keyForRemoval="waitForSaveSuccess"/>
21+
</actionGroup>
22+
</actionGroups>

app/code/Magento/Cms/Test/Mftf/Data/CmsPageData.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,10 @@
119119
<data key="identifier" unique="suffix" >block</data>
120120
<data key="active">true</data>
121121
</entity>
122+
<entity name="PageBuilderHtmlCmsHomePageContent" type="pagebuilder_html_property">
123+
<data key="name">HTML</data>
124+
<data key="section">general</data>
125+
<data key="value">CMS homepage content goes here</data>
126+
<data key="fieldName">html</data>
127+
</entity>
122128
</entities>

app/code/Magento/ConfigurableProduct/Test/Mftf/Test/StorefrontConfigurableProductViewTest/StorefrontConfigurableProductMSRPCovertTest.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
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-
*/
3+
/**
4+
* Copyright 2020 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
8+
89
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
910
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
1011
<test name="StorefrontConfigurableProductMSRPCovertTest">
@@ -112,6 +113,7 @@
112113
</actionGroup>
113114

114115
<selectOption selector="{{StorefrontProductInfoMainSection.productAttributeOptionsSelectButton}}" userInput="$$getConfigAttributeOption1.value$$" stepKey="selectFirstOption"/>
116+
<waitForAjaxLoad stepKey="waitForAjaxload"/>
115117
<waitForElement selector="{{StorefrontProductInfoMainSection.mapPrice}}" stepKey="waitForLoad"/>
116118
<grabTextFrom selector="{{StorefrontProductInfoMainSection.mapPrice}}" stepKey="grabProductMapPrice"/>
117119
<assertNotEquals stepKey="assertProductMapPrice">

0 commit comments

Comments
 (0)