-
Notifications
You must be signed in to change notification settings - Fork 9.3k
/
AssignCustomOrderStatusNotVisibleOnStorefrontTest.xml
134 lines (115 loc) · 7.33 KB
/
AssignCustomOrderStatusNotVisibleOnStorefrontTest.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AssignCustomOrderStatusNotVisibleOnStorefrontTest">
<annotations>
<features value="Sales"/>
<stories value="Assign Custom Order Status"/>
<title value="Assign custom order status not visible on storefront test"/>
<description value="Assign custom order status not visible on storefront"/>
<severity value="CRITICAL"/>
<testCaseId value="MC-16053"/>
<group value="sales"/>
<group value="mtf_migrated"/>
</annotations>
<before>
<!-- Create customer -->
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
<!-- Create product -->
<createData entity="SimpleProduct2" stepKey="createSimpleProduct"/>
<!-- Login as admin -->
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
</before>
<after>
<!-- Disable created order status -->
<magentoCLI command="config:set {{EnableCheckmoOrderStatusPending.path}} {{EnableCheckmoOrderStatusPending.value}}" stepKey="rollbackNewOrderStatus"/>
<!-- Logout customer -->
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="customerLogout"/>
<!-- Delete product -->
<deleteData createDataKey="createSimpleProduct" stepKey="deleteProduct"/>
<!-- Delete customer -->
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
<!-- Log out -->
<actionGroup ref="logout" stepKey="logout"/>
</after>
<!-- Create order status -->
<amOnPage url="{{AdminOrderStatusPage.url}}" stepKey="goToOrderStatusPage"/>
<waitForPageLoad stepKey="waitForOrderStatusPageLoad"/>
<click selector="{{AdminMainActionsSection.add}}" stepKey="clickCreateNewStatus"/>
<!-- Fill form and validate message -->
<actionGroup ref="AdminOrderStatusFormFillAndSave" stepKey="fillFormAndClickSave">
<argument name="status" value="{{defaultOrderStatus.status}}"/>
<argument name="label" value="{{defaultOrderStatus.label}}"/>
</actionGroup>
<actionGroup ref="AssertOrderStatusFormSaveSuccess" stepKey="seeFormSaveSuccess"/>
<!-- Assign status to state -->
<click selector="{{AdminOrderStatusGridSection.assignStatusToStateBtn}}" stepKey="clickAssignStatusBtn"/>
<selectOption selector="{{AdminAssignOrderStatusToStateSection.orderStatus}}" userInput="{{defaultOrderStatus.status}}" stepKey="selectOrderStatus"/>
<selectOption selector="{{AdminAssignOrderStatusToStateSection.orderState}}" userInput="{{OrderState.new}}" stepKey="selectOrderState"/>
<checkOption selector="{{AdminAssignOrderStatusToStateSection.orderStatusAsDefault}}" stepKey="orderStatusAsDefault"/>
<uncheckOption selector="{{AdminAssignOrderStatusToStateSection.visibleOnStorefront}}" stepKey="visibleOnStorefront"/>
<click selector="{{AdminAssignOrderStatusToStateSection.saveStatusAssignment}}" stepKey="clickSaveStatus"/>
<see selector="{{AdminMessagesSection.success}}" userInput="You assigned the order status." stepKey="seeSuccess"/>
<!-- Prepare data for constraints -->
<magentoCLI command="config:set {{EnableCheckmoOrderStatusPending.path}} {{defaultOrderStatus.label}}" stepKey="enableNewOrderStatus"/>
<!-- Assert order status in grid -->
<actionGroup ref="FilterOrderStatusByLabelAndCodeActionGroup" stepKey="filterOrderStatusGrid">
<argument name="statusLabel" value="{{defaultOrderStatus.label}}"/>
<argument name="statusCode" value="{{defaultOrderStatus.status}}"/>
</actionGroup>
<see selector="{{AdminOrderStatusGridSection.gridCell('1', 'State Code and Title')}}" userInput="new[{{defaultOrderStatus.label}}]" stepKey="seeOrderStatusInOrderGrid"/>
<!-- Create order and grab order id -->
<actionGroup ref="CreateOrderActionGroup" stepKey="createNewOrder">
<argument name="product" value="$$createSimpleProduct$$"/>
<argument name="customer" value="$$createCustomer$$"/>
</actionGroup>
<grabTextFrom selector="|Order # (\d+)|" stepKey="getOrderId"/>
<!-- Assert order status is correct -->
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="goToOrdersPage"/>
<waitForPageLoad stepKey="waitForOrdersPageLoad"/>
<actionGroup ref="filterOrderGridById" stepKey="filterOrdersGridById">
<argument name="orderId" value="$getOrderId"/>
</actionGroup>
<click selector="{{AdminDataGridTableSection.firstRow}}" stepKey="clickCreatedOrderInGrid"/>
<see selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="{{defaultOrderStatus.label}}" stepKey="seeOrderStatus"/>
<!-- Login as customer -->
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
<argument name="Customer" value="$$createCustomer$$"/>
</actionGroup>
<waitForPageLoad stepKey="waitForCustomerLogin"/>
<!-- Open My Orders -->
<amOnPage url="{{StorefrontCustomerDashboardPage.url}}" stepKey="goToCustomerDashboardPage"/>
<waitForPageLoad stepKey="waitForCustomerDashboardPageLoad"/>
<actionGroup ref="StorefrontCustomerGoToSidebarMenu" stepKey="goToMyOrdersPage">
<argument name="menu" value="My Orders"/>
</actionGroup>
<!-- Assert order not visible on My Orders -->
<see selector="{{StorefrontOrderInformationMainSection.emptyMessage}}" userInput="You have placed no orders." stepKey="seeEmptyMessage"/>
<!-- Cancel order -->
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="goToAdminOrdersPage"/>
<waitForPageLoad stepKey="waitForAdminOrdersPageLoad"/>
<actionGroup ref="filterOrderGridById" stepKey="filterOrdersGridByOrderId">
<argument name="orderId" value="$getOrderId"/>
</actionGroup>
<checkOption selector="{{AdminOrdersGridSection.checkOrder}}" stepKey="selectOrder"/>
<actionGroup ref="SelectActionForOrdersActionGroup" stepKey="selectCancelOrderAction">
<argument name="action" value="{{OrderActions.cancel}}"/>
</actionGroup>
<see selector="{{AdminMessagesSection.success}}" userInput="We canceled 1 order(s)." stepKey="seeSuccessMessage"/>
<!-- Unassign order status -->
<amOnPage url="{{AdminOrderStatusPage.url}}" stepKey="goToOrderStatus"/>
<waitForPageLoad stepKey="waitForStatusPageLoad"/>
<actionGroup ref="FilterOrderStatusByLabelAndCodeActionGroup" stepKey="filterStatusGrid">
<argument name="statusLabel" value="{{defaultOrderStatus.label}}"/>
<argument name="statusCode" value="{{defaultOrderStatus.status}}"/>
</actionGroup>
<click selector="{{AdminOrderStatusGridSection.unassign}}" stepKey="unassignOrderStatus"/>
<see selector="{{AdminMessagesSection.success}}" userInput="You have unassigned the order status." stepKey="seeMessage"/>
</test>
</tests>