Skip to content

Commit d3e4232

Browse files
ACQE-8433: Verify the 'Email sent' message is displaying in the header by generating email for invoice, shipment and credit memo.
- Created automation test case
1 parent 21390c6 commit d3e4232

File tree

3 files changed

+134
-0
lines changed

3 files changed

+134
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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="/html/body/div[2]/main/div[1]/div[2]/div/div/button[4]"/>
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: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
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+
<!-- Reindex all indices -->
30+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindexAllIndices">
31+
<argument name="indices" value=""/>
32+
</actionGroup>
33+
</before>
34+
<!-- Step 1: Go to frontend and log in as customer -->
35+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
36+
<argument name="Customer" value="$$createCustomer$$"/>
37+
</actionGroup>
38+
<!-- Step 2: Add product to cart and place order -->
39+
<actionGroup ref="StorefrontAddSimpleProductWithQtyActionGroup" stepKey="addSimpleProductToCart">
40+
<argument name="product" value="$$createSimpleProduct$$"/>
41+
<argument name="quantity" value="1"/>
42+
</actionGroup>
43+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckoutFromMinicart"/>
44+
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRate"/>
45+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="goToReview"/>
46+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder"/>
47+
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="clickPlacePurchaseOrder"/>
48+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="orderNumber"/>
49+
<!-- Step 3: Log in to admin -->
50+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
51+
<!-- Step 4: Go to sales order and open order -->
52+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin">
53+
<argument name="orderId" value="{$orderNumber}"/>
54+
</actionGroup>
55+
<!-- Step 5: Create invoice, shipment, and credit memo -->
56+
<actionGroup ref="AdminCreateInvoiceAndShipmentActionGroup" stepKey="createInvoiceAndShipment"/>
57+
<actionGroup ref="AdminCreateCreditMemoWithReturnToStockActionGroup" stepKey="createCreditMemo"/>
58+
<!-- Step 6: In the order page, click on invoice under the information tab -->
59+
<click selector="{{AdminOrderDetailsMainActionsSection.invoiceTab}}" stepKey="goToInvoiceTab"/>
60+
<!-- Steps 7: Click on view button under action. -->
61+
<actionGroup ref="AdminSelectFirstGridRowActionGroup" stepKey="openInvoiceFromGrid"/>
62+
<!-- Step 8: Click on Send Email button -->
63+
<click selector="{{AdminOrderDetailsMainActionsSection.sendEmail}}" stepKey="clickSendInvoiceEmail"/>
64+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForInvoiceConfirmationModal"/>
65+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendInvoiceEmail"/>
66+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForInvoiceSuccessMessage"/>
67+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabInvoiceSuccessMessage"/>
68+
<!-- Assert invoice email confirmation -->
69+
<assertEquals stepKey="assertInvoiceEmailConfirmation">
70+
<actualResult type="const">$grabInvoiceSuccessMessage</actualResult>
71+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.invoiceEmailMessage}}</expectedResult>
72+
</assertEquals>
73+
<!-- Step 9: Send shipment email -->
74+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin1">
75+
<argument name="orderId" value="{$orderNumber}"/>
76+
</actionGroup>
77+
<click selector="{{AdminOrderDetailsMainActionsSection.shipmentTab}}" stepKey="goToShipmentTab"/>
78+
<click selector="{{AdminOrderDetailsMainActionsSection.openShipmentFromGrid}}" stepKey="clickShipmentViewLink"/>
79+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.sendShipmentEmail}}" stepKey="waitForSendShipmentEmailButton"/>
80+
<click selector="{{AdminOrderDetailsMainActionsSection.sendShipmentEmail}}" stepKey="clickSendShipmentEmail"/>
81+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForShipmentConfirmationModal"/>
82+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendShipmentEmail"/>
83+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForShipmentSuccessMessage"/>
84+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabShipmentSuccessMessage"/>
85+
<!-- Assert shipment email confirmation -->
86+
<assertEquals stepKey="assertShipmentEmailConfirmation">
87+
<actualResult type="const">$grabShipmentSuccessMessage</actualResult>
88+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.shipmentEmailMessage}}</expectedResult>
89+
</assertEquals>
90+
<!-- Step 10: Send credit memo email -->
91+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrderInAdmin2">
92+
<argument name="orderId" value="{$orderNumber}"/>
93+
</actionGroup>
94+
<click selector="{{AdminOrderDetailsMainActionsSection.creditMemoTab}}" stepKey="goToCreditMemoTab"/>
95+
<click selector="{{AdminOrderDetailsMainActionsSection.openCreditMemoFromGrid}}" stepKey="openCreditMemoFromGrid"/>
96+
<click selector="{{AdminOrderDetailsMainActionsSection.sendCreditMemoEmail}}" stepKey="clickSendCreditMemoEmail"/>
97+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="waitForCreditMemoConfirmationModal"/>
98+
<click selector="{{AdminOrderDetailsMainActionsSection.emailConfirm}}" stepKey="confirmSendCreditMemoEmail"/>
99+
<waitForElementVisible selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="waitForCreditMemoSuccessMessage"/>
100+
<grabTextFrom selector="{{AdminOrderDetailsMainActionsSection.emailSendMessage}}" stepKey="grabCreditMemoSuccessMessage"/>
101+
<!-- Assert credit memo email confirmation -->
102+
<assertEquals stepKey="assertCreditMemoEmailConfirmation">
103+
<actualResult type="const">$grabCreditMemoSuccessMessage</actualResult>
104+
<expectedResult type="string">{{AdminOrderEmailsSendMessage.creditMemoEmailMessage}}</expectedResult>
105+
</assertEquals>
106+
<after>
107+
<!-- Delete product and customer -->
108+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
109+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
110+
<!-- Logout from admin -->
111+
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
112+
<!-- Logout from storefront -->
113+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
114+
<!-- Disable payment method "Check/Money Order" -->
115+
<magentoCLI command="config:set {{enabledCheckMoneyOrder.label}} 0" stepKey="disableCheckMoneyOrder"/>
116+
<!-- Disable shipping method "Flat Rate" -->
117+
<magentoCLI command="config:set carriers/flatrate/active 0" stepKey="disableFlatRate"/>
118+
</after>
119+
</test>
120+
</tests>

0 commit comments

Comments
 (0)