Skip to content

Commit fc70653

Browse files
Merge branch 'ACQE-8125' into ACQE-functional-deployment-version8
2 parents 9df21f6 + 61aa17a commit fc70653

File tree

5 files changed

+173
-12
lines changed

5 files changed

+173
-12
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright 2025 Adobe
5+
* All Rights Reserved.
6+
*/
7+
-->
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminAssignCustomStatusToStateActionGroup" extends="AdminGoToOrderStatusPageActionGroup">
11+
<annotations>
12+
<description>Order Custom Status assignation to Order State.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="orderStatus" type="string"/>
16+
<argument name="orderState" type="string"/>
17+
</arguments>
18+
<click selector="{{AdminOrderStatusGridSection.assignStatusToStateBtn}}" stepKey="clickAssignStatusBtn" after="waitForPageLoaded"/>
19+
<selectOption selector="{{AdminAssignOrderStatusToStateSection.orderStatus}}" userInput="{{orderStatus}}" stepKey="selectOrderStatus"/>
20+
<selectOption selector="{{AdminAssignOrderStatusToStateSection.orderState}}" userInput="{{orderState}}" stepKey="selectOrderState"/>
21+
<checkOption selector="{{AdminAssignOrderStatusToStateSection.visibleOnStorefront}}" stepKey="visibleOnStorefront"/>
22+
<click selector="{{AdminAssignOrderStatusToStateSection.saveStatusAssignment}}" stepKey="clickSaveStatus"/>
23+
<waitForElementVisible selector="{{AdminMessagesSection.success}}" stepKey="waitForMessageVisible"/>
24+
<waitForText userInput="You assigned the order status." selector="{{AdminMessagesSection.success}}" stepKey="assertSaveSuccessMessage"/>
25+
</actionGroup>
26+
</actionGroups>
27+
Lines changed: 8 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 2021 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
88

99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -14,4 +14,8 @@
1414
<entity name="anchorTagFragment" type="string">
1515
<data key="anchorTag">a href</data>
1616
</entity>
17+
<entity name="OrderInvoiceComment" type="order">
18+
<data key="sent">An example comment when Status is sent.</data>
19+
<data key="readyForPickup">An example comment when Status is Ready For Pickup.</data>
20+
</entity>
1721
</entities>

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

Lines changed: 12 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 2021 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
88

99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -20,4 +20,12 @@
2020
<data key="status" unique="suffix">order_status</data>
2121
<data key="label">Suspected Fraud</data>
2222
</entity>
23+
<entity name="sentStatus">
24+
<data key="code" unique="suffix">sent</data>
25+
<data key="label" unique="suffix">Sent</data>
26+
</entity>
27+
<entity name="readyForPickup">
28+
<data key="code" unique="suffix">readyforpickup</data>
29+
<data key="label" unique="suffix">Ready For Pickup</data>
30+
</entity>
2331
</entities>
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
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 2021 Adobe
5+
* All Rights Reserved.
6+
*/
77
-->
88

99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminCreateOrderCommentsSection">
1212
<element name="orderComments" type="input" selector="textarea#order-comment"/>
13+
<element name="statusForOrder" type="input" selector="//select[@id='history_status']" timeout="10"/>
1314
</section>
1415
</sections>
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
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="AdminChangeCustomOrderStatusInOrderCommentTest">
12+
<annotations>
13+
<features value="Sales"/>
14+
<stories value="Allow Admin to Modify Order Status Using Comment Section"/>
15+
<title value="Change intermediate custom status in admin using add comment form"/>
16+
<description value="Admin Can change the custom Order status with Comment line on Order view Page after invoice"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="AC-12883"/>
19+
<group value="Sales"/>
20+
</annotations>
21+
<before>
22+
<!-- Precondition: Login as admin -->
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
</before>
25+
<after>
26+
<!-- Unassign Sent status -->
27+
<actionGroup ref="AdminGoToOrderStatusPageActionGroup" stepKey="goToOrderStatusPage"/>
28+
<actionGroup ref="FilterOrderStatusByLabelAndCodeActionGroup" stepKey="filterStatusGrid">
29+
<argument name="statusLabel" value="{{sentStatus.label}}"/>
30+
<argument name="statusCode" value="{{sentStatus.code}}"/>
31+
</actionGroup>
32+
<click selector="{{AdminOrderStatusGridSection.unassign}}" stepKey="unassignOrderStatus"/>
33+
<!-- Unassign Ready For Pickup status -->
34+
<actionGroup ref="AdminGoToOrderStatusPageActionGroup" stepKey="navigateToOrderStatus2"/>
35+
<actionGroup ref="FilterOrderStatusByLabelAndCodeActionGroup" stepKey="filterOrderStatusGri2">
36+
<argument name="statusLabel" value="{{readyForPickup.label}}"/>
37+
<argument name="statusCode" value="{{readyForPickup.code}}"/>
38+
</actionGroup>
39+
<click selector="{{AdminOrderStatusGridSection.unassign}}" stepKey="unassigningOrderStatus"/>
40+
<!--Logout from customer account-->
41+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutStorefront"/>
42+
<!--Delete Data-->
43+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
44+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
45+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
46+
<!--Logout from admin-->
47+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
48+
</after>
49+
<!--Step 1&2: Go to admin Stores => Order Status and Create two statuses "Sent" and "Ready for Pickup" and bind them to "Processing" state-->
50+
<actionGroup ref="AdminGoToOrderStatusPageActionGroup" stepKey="goToOrderStatus"/>
51+
<actionGroup ref="AdminClickCreateNewStatusButtonOnOrderStatusPageActionGroup" stepKey="clickCreateNewStatus"/>
52+
<actionGroup ref="AdminOrderStatusFormFillAndSave" stepKey="fillFormAndClickSave">
53+
<argument name="status" value="{{sentStatus.code}}"/>
54+
<argument name="label" value="{{sentStatus.label}}"/>
55+
</actionGroup>
56+
<actionGroup ref="AssertOrderStatusFormSaveSuccess" stepKey="seeFormSaveSuccess"/>
57+
<actionGroup ref="AdminAssignCustomStatusToStateActionGroup" stepKey="assignTestStatusToState">
58+
<argument name="orderStatus" value="{{sentStatus.label}}"/>
59+
<argument name="orderState" value="{{OrderState.processing}}"/>
60+
</actionGroup>
61+
<actionGroup ref="AdminClickCreateNewStatusButtonOnOrderStatusPageActionGroup" stepKey="clickAgainCreateNewStatus"/>
62+
<actionGroup ref="AdminOrderStatusFormFillAndSave" stepKey="fillFormAgainAndClickSave">
63+
<argument name="status" value="{{readyForPickup.code}}"/>
64+
<argument name="label" value="{{readyForPickup.label}}"/>
65+
</actionGroup>
66+
<actionGroup ref="AssertOrderStatusFormSaveSuccess" stepKey="seeAgainFormSaveSuccess"/>
67+
<!-- Assign status to state -->
68+
<actionGroup ref="AdminAssignCustomStatusToStateActionGroup" stepKey="assignCustomStatusToState">
69+
<argument name="orderStatus" value="{{readyForPickup.label}}"/>
70+
<argument name="orderState" value="{{OrderState.processing}}"/>
71+
</actionGroup>
72+
<!--Step3: Create product and register customer-->
73+
<createData entity="_defaultCategory" stepKey="createCategory"/>
74+
<createData entity="SimpleProduct" stepKey="createProduct">
75+
<requiredEntity createDataKey="createCategory"/>
76+
</createData>
77+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
78+
<!--Step4: Place order on front using this product and customer and default shipping and payment methods-->
79+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="customerLogin">
80+
<argument name="Customer" value="$$createCustomer$$"/>
81+
</actionGroup>
82+
<!-- Add simple product to cart and go to checkout-->
83+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addProductToCart">
84+
<argument name="product" value="$$createProduct$$"/>
85+
</actionGroup>
86+
<actionGroup ref="StorefrontOpenCheckoutPageActionGroup" stepKey="goToCheckoutPage"/>
87+
<actionGroup ref="StorefrontSetShippingMethodActionGroup" stepKey="selectShippingMethod"/>
88+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="clickNextOnShippingStep"/>
89+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder"/>
90+
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="placeOrder"/>
91+
<actionGroup ref="StorefrontClickOrderLinkFromCheckoutSuccessPageActionGroup" stepKey="clickOrderLink"/>
92+
<grabFromCurrentUrl regex="~/order_id/(\d+)/~" stepKey="orderId"/>
93+
<!-- Step5&6: Go to admin Sales => Orders and Open previously placed order -->
94+
<actionGroup ref="AdminOpenOrderByEntityIdActionGroup" stepKey="goToOrderInAdmin">
95+
<argument name="entityId" value="{$orderId}"/>
96+
</actionGroup>
97+
<!-- Step7: Create invoice by clicking Invoice button on top -->
98+
<actionGroup ref="StartCreateInvoiceFromOrderPageActionGroup" stepKey="startInvoice"/>
99+
<actionGroup ref="SubmitInvoiceActionGroup" stepKey="submitInvoice"/>
100+
<!-- Step8: See order changed status to "Processing" -->
101+
<waitForText selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="{{OrderState.processing}}" stepKey="seeOrderStatusAsProcessing"/>
102+
<!-- Step9: Go to "Add Comment" form change status to "Sent" and add any comment -->
103+
<selectOption selector="{{AdminCreateOrderCommentsSection.statusForOrder}}" userInput="{{sentStatus.code}}" stepKey="selectSentLabel"/>
104+
<fillField selector="{{AdminSalesOrderCommentsSection.historyComment}}" userInput="{{OrderInvoiceComment.sent}}" stepKey="fillCommentForSent"/>
105+
<click selector="{{AdminSalesOrderCommentsSection.submitOrderComment}}" stepKey="clickSaveCommentButton"/>
106+
<!-- Step10: Reload order form and see status changed to "Sent" -->
107+
<actionGroup ref="ReloadPageActionGroup" stepKey="reloadPage"/>
108+
<waitForText selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="{{sentStatus.label}}" stepKey="seeOrderStatusAsSent"/>
109+
<!-- Step11: Go to "Add Comment" form change status to "Ready For Pickup" and add any comment -->
110+
<waitForElementClickable selector="{{AdminCreateOrderCommentsSection.statusForOrder}}" stepKey="waitToReadyForPickupLabel"/>
111+
<click selector="{{AdminCreateOrderCommentsSection.statusForOrder}}" stepKey="clickReadyForPickupLabel"/>
112+
<waitForPageLoad stepKey="waitReadyForPickup"/>
113+
<selectOption selector="{{AdminCreateOrderCommentsSection.statusForOrder}}" userInput="{{readyForPickup.code}}" stepKey="selectReadyForPickupLabel"/>
114+
<fillField selector="{{AdminSalesOrderCommentsSection.historyComment}}" userInput="{{OrderInvoiceComment.readyForPickup}}" stepKey="fillCommentFieldForReadyForPickup"/>
115+
<click selector="{{AdminSalesOrderCommentsSection.submitOrderComment}}" stepKey="clickSaveCommentBtn"/>
116+
<waitForPageLoad stepKey="waitForPageToBeLoadedSuccessfully"/>
117+
<!-- Step12: Reload order form -->
118+
<actionGroup ref="ReloadPageActionGroup" stepKey="refreshPage"/>
119+
<waitForText selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="{{readyForPickup.label}}" stepKey="seeOrderStatusAsReadyForPickup"/>
120+
</test>
121+
</tests>

0 commit comments

Comments
 (0)