Skip to content

Commit 6c929e9

Browse files
committed
ACQE-8477: Addresses disappear from multi-shipping checkout after removing several items
- New automation testfile has been added
1 parent 835e075 commit 6c929e9

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed
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 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+
<arguments>
13+
<argument name="sequenceNumber" type="string" defaultValue="1"/>
14+
</arguments>
15+
<waitForPageLoad stepKey="waitForCartSummaryPageToLoad"/>
16+
<waitForElementClickable selector="{{MultishippingSection.removeItemLink(sequenceNumber)}}" stepKey="waitForRemoveLinkClickable"/>
17+
<click selector="{{MultishippingSection.removeItemLink('sequenceNumber')}}" stepKey="clickOnRemoveItemLink"/>
18+
</actionGroup>
19+
</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="Checkout"/>
12+
<stories value="Ensure addresses do not disappear after item removal in multi-shipping flow"/>
13+
<title value="Checks address retention when items are deleted during multi-shipping checkout"/>
14+
<description value="Validates that shipping addresses selected during multi-shipping checkout remain intact after removing one or more items 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="waitForPageLoad1"/>
51+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectCAAddress">
52+
<argument name="sequenceNumber" value="3"/>
53+
<argument name="option" value="{{Customer_Address.ca_address}}"/>
54+
</actionGroup>
55+
<actionGroup ref="StorefrontUpdateMultishippingItemsQuantityAndAddressesActionGroup" stepKey="clickOnUpdateQtyAndAddress"/>
56+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeFirstItem">
57+
<argument name="sequenceNumber" value="1"/>
58+
</actionGroup>
59+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectNYAddress">
60+
<argument name="sequenceNumber" value="2"/>
61+
<argument name="option" value="{{Customer_Address.ny_address}}"/>
62+
</actionGroup>
63+
<actionGroup ref="StorefrontUpdateMultishippingItemsQuantityAndAddressesActionGroup" stepKey="clickOnUpdateQtyAndAddress1"/>
64+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeSecondItem">
65+
<argument name="sequenceNumber" value="2"/>
66+
</actionGroup>
67+
<waitForPageLoad stepKey="waitForCartSummaryPageToLoadAfterRemovalOfFirstItem"/>
68+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectBRAddress">
69+
<argument name="sequenceNumber" value="1"/>
70+
<argument name="option" value="{{Customer_Address.br_address}}"/>
71+
</actionGroup>
72+
<actionGroup ref="StorefrontUpdateMultishippingItemsQuantityAndAddressesActionGroup" stepKey="clickOnUpdateQtyAndAddress2"/>
73+
<!-- Remove the last item -->
74+
<actionGroup ref="StorefrontRemoveProductsInMultiAddressCheckoutActionGroup" stepKey="removeThirdItem"/>
75+
</test>
76+
</tests>

app/code/Magento/Customer/Test/Mftf/Data/CustomerData.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,4 +533,24 @@
533533
<data key="group">General</data>
534534
<requiredEntity type="address">US_Address_Bris</requiredEntity>
535535
</entity>
536+
<entity name="Simple_Customer_Multiple_Addresses" type="customer">
537+
<data key="group_id">1</data>
538+
<data key="default_billing">true</data>
539+
<data key="default_shipping">true</data>
540+
<data key="email" unique="prefix">John.Doe@example.com</data>
541+
<data key="firstname">John</data>
542+
<data key="lastname">Doe</data>
543+
<data key="fullname">John Doe</data>
544+
<data key="password">pwdTest123!</data>
545+
<data key="store_id">0</data>
546+
<data key="website_id">0</data>
547+
<requiredEntity type="address">US_Address_CA</requiredEntity>
548+
<requiredEntity type="address">US_Address_Bris</requiredEntity>
549+
<requiredEntity type="address">US_Address_NY_Not_Default_Address</requiredEntity>
550+
</entity>
551+
<entity name="Customer_Address" type="customer">
552+
<data key="ny_address">John Doe, 368 Broadway St. Apt. 113, New York, New York 10001, United States</data>
553+
<data key="ca_address">John Doe, 7700 West Parmer Lane 113, Los Angeles, California 90001, United States</data>
554+
<data key="br_address">John Doe, 3976 Thunder Road, Brisbane, California 94005, United States</data>
555+
</entity>
536556
</entities>

app/code/Magento/Multishipping/Test/Mftf/Section/MultishippingSection/MultishippingSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@
2424
<element name="updateQtyAndAddress" type="button" selector="//button[@type='submit' and @class='action update']"/>
2525
<element name="attentionMessage" type="text" selector="//div[@class='modal-inner-wrap']//div[contains(text(),'Maximum qty allowed for Shipping to multiple addresses is 10')]"/>
2626
<element name="acceptAttention" type="button" selector="//button[@class='action-primary action-accept']//span[contains(text(),'OK')]"/>
27+
<element name="removeItemLink" type="select" selector="//tr[position()={{sequenceNumber}}]//a[@title='Remove Item']" parameterized="true"/>
2728
</section>
2829
</sections>

0 commit comments

Comments
 (0)