Skip to content

Commit 1893540

Browse files
Merge branch '2.4-develop' into Arrows-AC-14808-v4
2 parents 35b874a + 31870c7 commit 1893540

File tree

7 files changed

+384
-7
lines changed

7 files changed

+384
-7
lines changed

app/code/Magento/Cms/Test/Mftf/Test/AdminCMSPageCreatePageWithBlockInNonStandardPlaceTest.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<!-- Add Subscribe block to HomePage -->
3838
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addSubscribeBlockToHomePage">
39-
<argument name="content" value="{{block class=&apos;Magento\Newsletter\Block\Subscribe&apos; name=&apos;home.form.subscribe&apos; template=&apos;Magento_Newsletter::subscribe.phtml&apos;}}"/>
39+
<argument name="content" value="{{block class=&quot;Magento\Newsletter\Block\Subscribe&quot; name=&quot;home.form.subscribe&quot; template=&quot;Magento_Newsletter::subscribe.phtml&quot;}}"/>
4040
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
4141
</actionGroup>
4242

@@ -48,7 +48,7 @@
4848

4949
<!-- Add Contact block to HomePage -->
5050
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addContactBlockToHomePage">
51-
<argument name="content" value="{{block class=&apos;Magento\Contact\Block\ContactForm&apos; name=&apos;home.form.contact&apos; template=&apos;Magento_Contact::form.phtml&apos;}}"/>
51+
<argument name="content" value="{{block class=&quot;Magento\Contact\Block\ContactForm&quot; name=&quot;home.form.contact&quot; template=&quot;Magento_Contact::form.phtml&quot;}}"/>
5252
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
5353
</actionGroup>
5454

@@ -60,7 +60,7 @@
6060

6161
<!-- Add Forgot Password block to HomePage -->
6262
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addForgotPasswordBlockToHomePage">
63-
<argument name="content" value="{{block class=&apos;Magento\Customer\Block\Account\Forgotpassword&apos; name=&apos;home.form.forgotpassword&apos; template=&apos;Magento_Customer::form/forgotpassword.phtml&apos;}}"/>
63+
<argument name="content" value="{{block class=&quot;Magento\Customer\Block\Account\Forgotpassword&quot; name=&quot;home.form.forgotpassword&quot; template=&quot;Magento_Customer::form/forgotpassword.phtml&quot;}}"/>
6464
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
6565
</actionGroup>
6666

@@ -72,7 +72,7 @@
7272

7373
<!-- Add Login block to HomePage -->
7474
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addLoginBlockToHomePage">
75-
<argument name="content" value="{{block class=&apos;Magento\Customer\Block\Form\Login&apos; name=&apos;home.form.login&apos; template=&apos;Magento_Customer::form/login.phtml&apos;}}"/>
75+
<argument name="content" value="{{block class=&quot;Magento\Customer\Block\Form\Login&quot; name=&quot;home.form.login&quot; template=&quot;Magento_Customer::form/login.phtml&quot;}}"/>
7676
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
7777
</actionGroup>
7878

@@ -84,7 +84,7 @@
8484

8585
<!-- Add Register block to HomePage -->
8686
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addRegisterBlockToHomePage">
87-
<argument name="content" value="{{block class=&apos;Magento\Customer\Block\Form\Register&apos; name=&apos;home.form.register&apos; template=&apos;Magento_Customer::form/register.phtml&apos;}}"/>
87+
<argument name="content" value="{{block class=&quot;Magento\Customer\Block\Form\Register&quot; name=&quot;home.form.register&quot; template=&quot;Magento_Customer::form/register.phtml&quot;}}"/>
8888
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
8989
</actionGroup>
9090

@@ -96,7 +96,7 @@
9696

9797
<!-- Add Send To Friend block to HomePage -->
9898
<actionGroup ref="AdminEditCMSPageContentActionGroup" stepKey="addSendToFriendBlockToHomePage">
99-
<argument name="content" value="{{block class=&apos;Magento\SendFriend\Block\Send&apos; name=&apos;home.form.send&apos; template=&apos;Magento_SendFriend::send.phtml&apos;}}"/>
99+
<argument name="content" value="{{block class=&quot;Magento\SendFriend\Block\Send&quot; name=&quot;home.form.send&quot; template=&quot;Magento_SendFriend::send.phtml&quot;}}"/>
100100
<argument name="pageId" value="{{CmsHomePageContent.page_id}}"/>
101101
</actionGroup>
102102

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
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="StorefrontCheckoutWithMultipleShippingAddressesAsRegisteredCustomerTest">
12+
<annotations>
13+
<features value="Multishipping"/>
14+
<stories value="Checkout with Multiple Addresses"/>
15+
<title value="Checkout with Multiple Shipping Addresses as Registered Customer"/>
16+
<description value="Check registered customer multi‑shipment checkout and validate created orders"/>
17+
<severity value="MAJOR"/>
18+
<group value="Multishipment"/>
19+
<group value="catalog"/>
20+
<testCaseId value="AC-7616"/>
21+
</annotations>
22+
<before>
23+
<!-- Data creation: two simple products and a customer with two addresses -->
24+
<createData stepKey="createSimpleProduct1" entity="SimpleProduct"/>
25+
<createData stepKey="createSimpleProduct2" entity="SimpleProduct2"/>
26+
<createData stepKey="customer" entity="Simple_Customer_Multiple_Addresses"/>
27+
</before>
28+
<after>
29+
<!-- Logout from Storefront (best-effort) -->
30+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutFromStorefrontIfLoggedIn"/>
31+
<!-- Cleanup data -->
32+
<deleteData stepKey="deleteCustomerEntity" createDataKey="customer"/>
33+
<deleteData stepKey="deleteProduct1" createDataKey="createSimpleProduct1"/>
34+
<deleteData stepKey="deleteProduct2" createDataKey="createSimpleProduct2"/>
35+
<!-- Logout from Admin -->
36+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
37+
</after>
38+
<!-- Step-1: Go to Storefront as non-logged in customer -->
39+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="goToStorefrontAsGuest"/>
40+
<!-- Step-2: Add 2 products to Shopping Cart -->
41+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addFirstProductToCart">
42+
<argument name="product" value="$createSimpleProduct1$"/>
43+
</actionGroup>
44+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSecondProductToCart">
45+
<argument name="product" value="$createSimpleProduct2$"/>
46+
</actionGroup>
47+
<!-- Step-3: Open Shopping Cart -->
48+
<actionGroup ref="StorefrontOpenCartFromMinicartActionGroup" stepKey="openShoppingCartFromMiniCart"/>
49+
<!-- Step-4: Click 'Checkout with Multiple Addresses' -->
50+
<actionGroup ref="StorefrontCheckoutWithMultipleAddressesActionGroup" stepKey="checkoutWithMultipleAddressesFromCart"/>
51+
<!-- Step-5: Login on Checkout Method page -->
52+
<actionGroup ref="StorefrontFillCustomerLoginFormActionGroup" stepKey="fillCredentialsOnCheckoutLogin">
53+
<argument name="customer" value="$$customer$$"/>
54+
</actionGroup>
55+
<actionGroup ref="StorefrontClickSignOnCustomerLoginFormActionGroup" stepKey="loginFromCheckoutMethodPage"/>
56+
<!-- Steps 6, 7: Select different addresses for items and continue to shipping information (covered inside previous step if page auto-redirects) -->
57+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectNYAddress">
58+
<argument name="sequenceNumber" value="2"/>
59+
<argument name="option" value="{{Customer_Address.ny_address}}"/>
60+
</actionGroup>
61+
<actionGroup ref="StorefrontUpdateMultishippingItemsQuantityAndAddressesActionGroup" stepKey="clickOnUpdateQtyAndAddress"/>
62+
<waitForPageLoad stepKey="waitForShippingInformationPageLoad"/>
63+
<actionGroup ref="StorefrontNavigateToShippingInformationPageActionGroup" stepKey="navigateToShippingInformation"/>
64+
<!-- Steps 8, 9: Select Flat Rate for both shipments and continue to Billing Information -->
65+
<actionGroup ref="StorefrontGoToBillingInformationActionGroup" stepKey="goToBillingInformation"/>
66+
<!-- Step-10: Select Payment method (Check/Money Order) -->
67+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrderPayment"/>
68+
<!-- Step-11: Continue to Review Order -->
69+
<actionGroup ref="SelectBillingInfoActionGroup" stepKey="goToReviewOrderPage"/>
70+
<!-- Step-12: Place Order -->
71+
<actionGroup ref="PlaceOrderActionGroup" stepKey="placeOrderForMultipleAddresses"/>
72+
<!-- Step-13: Validate two order numbers are shown -->
73+
<seeNumberOfElements selector="{{CheckoutSuccessMainSection.orderLinks}}" userInput="2" stepKey="assertTwoOrderNumbersShownOnSuccessPage"/>
74+
<waitForElementVisible selector="{{StorefrontMultipleShippingMethodSection.orderId('1')}}" stepKey="waitForOrderIds"/>
75+
<grabTextFrom selector="{{StorefrontMultipleShippingMethodSection.orderId('1')}}" stepKey="grabFirstOrderId"/>
76+
<grabTextFrom selector="{{StorefrontMultipleShippingMethodSection.orderId('2')}}" stepKey="grabSecondOrderId"/>
77+
<!-- Step-14: Admin - verify both orders exist in the grid -->
78+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginToAdmin"/>
79+
<actionGroup ref="AdminOrdersPageOpenActionGroup" stepKey="goToAdminSalesOrders"/>
80+
<actionGroup ref="SearchAdminDataGridByKeywordActionGroup" stepKey="assertForFirstOrder">
81+
<argument name="keyword" value="{$grabFirstOrderId}"/>
82+
</actionGroup>
83+
<actionGroup ref="SearchAdminDataGridByKeywordActionGroup" stepKey="assertForSecondOrder">
84+
<argument name="keyword" value="{$grabSecondOrderId}"/>
85+
</actionGroup>
86+
</test>
87+
</tests>
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
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="AdminVerifyOrderStatusAfterPartialRefundThenShipmentTest">
12+
<annotations>
13+
<features value="Sales"/>
14+
<stories value="To verify order status when the order is partially refunded"/>
15+
<title value="Order status changes to complete after partial refund"/>
16+
<description value="This test case verifies order status when the order is partially refunded."/>
17+
<severity value="AVERAGE"/>
18+
<testCaseId value="AC-6623"/>
19+
<group value="sales"/>
20+
</annotations>
21+
<before>
22+
<!-- create customer, product-->
23+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
24+
<createData entity="SimpleProduct" stepKey="createProduct"/>
25+
<!-- Pre Condition 1: Make sure to have a customer login for front end -->
26+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginStorefront">
27+
<argument name="Customer" value="$createCustomer$"/>
28+
</actionGroup>
29+
<!-- Login to admin -->
30+
<actionGroup ref="AdminLoginActionGroup" stepKey="adminLogin"/>
31+
</before>
32+
<after>
33+
<!-- Logout from customer, delete customer, product and logout from admin -->
34+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
35+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
36+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
37+
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
38+
</after>
39+
<!-- Step 1: Navigate to frontend, create an order of quantity 10 and place order -->
40+
<actionGroup ref="StorefrontAddSimpleProductWithQtyActionGroup" stepKey="addProductToCart">
41+
<argument name="product" value="$createProduct$"/>
42+
<argument name="quantity" value="10"/>
43+
</actionGroup>
44+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckout"/>
45+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRate"/>
46+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="nextFromShipping"/>
47+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder"/>
48+
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="placeOrder"/>
49+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="grabOrderNumber"/>
50+
<!--Step 2: Navigate to admin, open order and verify order is in pending state -->
51+
<actionGroup ref="AdminOpenOrderByEntityIdActionGroup" stepKey="openOrder">
52+
<argument name="entityId" value="{$grabOrderNumber}"/>
53+
</actionGroup>
54+
<actionGroup ref="AdminOrderViewCheckStatusActionGroup" stepKey="assertPending">
55+
<argument name="status" value="Pending"/>
56+
</actionGroup>
57+
<!--Step 3: Create an invoice for the order of quantity 10 -->
58+
<actionGroup ref="StartCreateInvoiceFromOrderPageActionGroup" stepKey="startInvoice"/>
59+
<actionGroup ref="SubmitInvoiceActionGroup" stepKey="submitInvoice"/>
60+
<!-- Step 4: Create partial credit memo for refund of qty 5 -->
61+
<actionGroup ref="AdminCreateCreditMemoWithUpdateQtyActionGroup" stepKey="createCreditMemoWithPartialQty">
62+
<argument name="productQty" value="5"/>
63+
</actionGroup>
64+
<actionGroup ref="SubmitCreditMemoActionGroup" stepKey="submitCreditMemo"/>
65+
<!-- Step 5: Create shipment for remaining 5 -->
66+
<actionGroup ref="GoToShipmentIntoOrderActionGroup" stepKey="goToShipment"/>
67+
<actionGroup ref="SubmitShipmentIntoOrderActionGroup" stepKey="submitShipment"/>
68+
<!-- Step 6: Assert order status should be in complete state -->
69+
<actionGroup ref="AdminOrderViewCheckStatusActionGroup" stepKey="assertOrderComplete">
70+
<argument name="status" value="Complete"/>
71+
</actionGroup>
72+
</test>
73+
</tests>

app/code/Magento/SalesRule/Test/Mftf/Section/AdminCartPriceRulesSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@
2020
<element name="pageCurrent" type="text" selector="//label[@for='promo_quote_grid_page-current']"/>
2121
<element name="totalCount" type="text" selector="span[data-ui-id*='grid-total-count']"/>
2222
<element name="emptyText" type="text" selector="//tr[@class='data-grid-tr-no-data even']/td"/>
23+
<element name="gridStartDateByRuleName" type="text" selector="//*[@id='promo_quote_grid_table']/tbody/tr[td//text()[contains(., '{{ruleName}}')]]/td[@data-column='from_date']" parameterized="true"/>
24+
<element name="gridEndDateByRuleName" type="text" selector="//*[@id='promo_quote_grid_table']/tbody/tr[td//text()[contains(., '{{ruleName}}')]]/td[@data-column='to_date']" parameterized="true"/>
2325
</section>
2426
</sections>

0 commit comments

Comments
 (0)