Skip to content

Commit ee81755

Browse files
Merge branch 'ACQE-8433' into ACQE-functional-deployment-version13
2 parents 3026734 + f580e71 commit ee81755

File tree

3 files changed

+134
-4
lines changed

3 files changed

+134
-4
lines changed

app/code/Magento/Sales/Test/Mftf/Data/OrderData.xml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
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 2018 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
88

99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -45,4 +45,10 @@
4545
<data key="processing">Processing</data>
4646
<data key="ordered">Ordered</data>
4747
</entity>
48+
<entity name="AdminOrderEmailsSendMessage" type="text">
49+
<data key="invoiceEmailMessage">You sent the message.</data>
50+
<data key="shipmentEmailMessage">You sent the shipment.</data>
51+
<data key="creditMemoEmailMessage">You sent the message.</data>
52+
</entity>
53+
4854
</entities>

app/code/Magento/Sales/Test/Mftf/Section/AdminOrderDetailsMainActionsSection.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,13 @@
3131
<element name="void" type="button" selector="#void_payment span"/>
3232
<element name="invoiceTabContent1" type="text" selector="#sales_order_view_tabs_order_invoices_content > div > div.admin__data-grid-wrap > table > tbody > tr > td"/>
3333
<element name="creditMemoWarning" type="text" selector="//div[@class='modal-content']//div[text()='This will create an offline refund. To create an online refund, open an invoice and create credit memo for it. Do you want to continue?']"/>
34+
<element name="shipmentTab" type="button" selector="#sales_order_view_tabs_order_shipments" timeout="30"/>
35+
<element name="creditMemoTab" type="button" selector="#sales_order_view_tabs_order_creditmemos" timeout="30"/>
36+
<element name="emailSendMessage" type="text" selector="#messages .message-success div"/>
37+
<element name="emailConfirm" type="button" selector="aside.confirm .modal-footer button.action-accept"/>
38+
<element name="sendShipmentEmail" type="button" selector="//*[@id='save']"/>
39+
<element name="sendCreditMemoEmail" type="button" selector="//*[@id='send_notification']"/>
40+
<element name="openShipmentFromGrid" type="button" selector="table.data-grid tbody > tr:first-child a.action-menu-item[href*='order_shipment/view']"/>
41+
<element name="openCreditMemoFromGrid" type="button" selector="table.data-grid tbody > tr:first-child a.action-menu-item[href*='order_creditmemo/view']"/>
3442
</section>
3543
</sections>
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
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="AdminOrderEmailsConfirmationMessageTest">
12+
<annotations>
13+
<features value="Sales"/>
14+
<title value="Admin sees confirmation messages for invoice, shipment, and credit memo emails"/>
15+
<description value="Covers storefront order placement and admin sending invoice, shipment, and credit memo emails with confirmation message checks"/>
16+
<stories value="Place order, send invoice, shipment, and credit memo emails and check confirmation messages"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="AC-9122"/>
19+
<group value="Sales"/>
20+
</annotations>
21+
<before>
22+
<!-- Enable payment method one of "check/money order" and shipping method one of "flat rate" -->
23+
<magentoCLI command="config:set {{enabledCheckMoneyOrder.label}} 1" stepKey="enableCheckMoneyOrder"/>
24+
<magentoCLI command="config:set carriers/flatrate/active 1" stepKey="enableFlatRate"/>
25+
<!-- Create simple product -->
26+
<createData entity="SimpleProduct2" stepKey="createSimpleProduct"/>
27+
<!-- Create customer -->
28+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
29+
</before>
30+
<!-- Step 1: Go to frontend and log in as customer -->
31+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
32+
<argument name="Customer" value="$$createCustomer$$"/>
33+
</actionGroup>
34+
<!-- Step 2: Add product to cart and place order -->
35+
<actionGroup ref="StorefrontAddSimpleProductWithQtyActionGroup" stepKey="addSimpleProductToCart">
36+
<argument name="product" value="$$createSimpleProduct$$"/>
37+
<argument name="quantity" value="1"/>
38+
</actionGroup>
39+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckoutFromMinicart"/>
40+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRate"/>
41+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="goToReview"/>
42+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder"/>
43+
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="clickPlacePurchaseOrder"/>
44+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="orderNumber"/>
45+
<!-- Step 3: Log in to admin -->
46+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
47+
<!-- Step 4: Go to sales order and open order -->
48+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin">
49+
<argument name="orderId" value="{$orderNumber}"/>
50+
</actionGroup>
51+
<!-- Step 5: Create invoice, shipment, and credit memo -->
52+
<actionGroup ref="AdminCreateInvoiceAndShipmentActionGroup" stepKey="createInvoiceAndShipment"/>
53+
<actionGroup ref="AdminCreateCreditMemoWithReturnToStockActionGroup" stepKey="createCreditMemo"/>
54+
<!-- Step 6: In the order page, click on invoice under the information tab -->
55+
<click selector="{{AdminOrderDetailsMainActionsSection.invoiceTab}}" stepKey="goToInvoiceTab"/>
56+
<!-- Steps 7: Click on view button under action. -->
57+
<actionGroup ref="AdminSelectFirstGridRowActionGroup" stepKey="openInvoiceFromGrid"/>
58+
<!-- Step 8: Click on Send Email button -->
59+
<click selector="{{AdminOrderDetailsMainActionsSection.sendEmail}}" stepKey="clickSendInvoiceEmail"/>
60+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForInvoiceConfirmationModal"/>
61+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendInvoiceEmail"/>
62+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForInvoiceSuccessMessage"/>
63+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabInvoiceSuccessMessage"/>
64+
<!-- Assert invoice email confirmation -->
65+
<assertEquals stepKey="assertInvoiceEmailConfirmation">
66+
<actualResult type="const">$grabInvoiceSuccessMessage</actualResult>
67+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.invoiceEmailMessage}}</expectedResult>
68+
</assertEquals>
69+
<!-- Step 9: Send shipment email -->
70+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin1">
71+
<argument name="orderId" value="{$orderNumber}"/>
72+
</actionGroup>
73+
<click selector="{{AdminOrderDetailsMainActionsSection.shipmentTab}}" stepKey="goToShipmentTab"/>
74+
<click selector="{{AdminOrderDetailsMainActionsSection.openShipmentFromGrid}}" stepKey="clickShipmentViewLink"/>
75+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.sendShipmentEmail}}" stepKey="waitForSendShipmentEmailButton"/>
76+
<click selector="{{AdminOrderDetailsMainActionsSection.sendShipmentEmail}}" stepKey="clickSendShipmentEmail"/>
77+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForShipmentConfirmationModal"/>
78+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendShipmentEmail"/>
79+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForShipmentSuccessMessage"/>
80+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabShipmentSuccessMessage"/>
81+
<!-- Assert shipment email confirmation -->
82+
<assertEquals stepKey="assertShipmentEmailConfirmation">
83+
<actualResult type="const">$grabShipmentSuccessMessage</actualResult>
84+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.shipmentEmailMessage}}</expectedResult>
85+
</assertEquals>
86+
<!-- Step 10: Send credit memo email -->
87+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin2">
88+
<argument name="orderId" value="{$orderNumber}"/>
89+
</actionGroup>
90+
<click selector="{{AdminOrderDetailsMainActionsSection.creditMemoTab}}" stepKey="goToCreditMemoTab"/>
91+
<click selector="{{AdminOrderDetailsMainActionsSection.openCreditMemoFromGrid}}" stepKey="openCreditMemoFromGrid"/>
92+
<click selector="{{AdminOrderDetailsMainActionsSection.sendCreditMemoEmail}}" stepKey="clickSendCreditMemoEmail"/>
93+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForCreditMemoConfirmationModal"/>
94+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendCreditMemoEmail"/>
95+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForCreditMemoSuccessMessage"/>
96+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabCreditMemoSuccessMessage"/>
97+
<!-- Assert credit memo email confirmation -->
98+
<assertEquals stepKey="assertCreditMemoEmailConfirmation">
99+
<actualResult type="const">$grabCreditMemoSuccessMessage</actualResult>
100+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.creditMemoEmailMessage}}</expectedResult>
101+
</assertEquals>
102+
<after>
103+
<!-- Delete product and customer -->
104+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
105+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
106+
<!-- Logout from admin -->
107+
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
108+
<!-- Logout from storefront -->
109+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
110+
<!-- Disable payment method "Check/Money Order" -->
111+
<magentoCLI command="config:set {{enabledCheckMoneyOrder.label}} 0" stepKey="disableCheckMoneyOrder"/>
112+
<!-- Disable shipping method "Flat Rate" -->
113+
<magentoCLI command="config:set carriers/flatrate/active 0" stepKey="disableFlatRate"/>
114+
</after>
115+
</test>
116+
</tests>

0 commit comments

Comments
 (0)