Skip to content

Commit fd6cb8d

Browse files
authored
Merge pull request magento#123 from magento-pangolin/MC-4758
MC-4758
2 parents 097e3da + ac3f1f9 commit fd6cb8d

12 files changed

+645
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminCreateInvoiceActionGroup">
12+
<click selector="{{AdminOrderDetailsMainActionsSection.invoice}}" stepKey="clickInvoice"/>
13+
<waitForPageLoad stepKey="waitForInvoicePage"/>
14+
<click selector="{{AdminInvoiceMainActionsSection.submitInvoice}}" stepKey="submitInvoice"/>
15+
<waitForPageLoad stepKey="waitForLoadPage"/>
16+
<see userInput="The invoice has been created." stepKey="seeMessage"/>
17+
</actionGroup>
18+
<actionGroup name="AdminCreateInvoiceAndShipmentActionGroup" extends="AdminCreateInvoiceActionGroup">
19+
<checkOption selector="{{AdminInvoicePaymentShippingSection.CreateShipment}}" stepKey="checkCreateShipment" after="waitForInvoicePage"/>
20+
<see userInput="You created the invoice and shipment." stepKey="seeMessage"/>
21+
</actionGroup>
22+
<actionGroup name="AdminCreateInvoiceAndCreditMemoActionGroup" extends="AdminCreateInvoiceActionGroup">
23+
<click selector="{{AdminOrderDetailsMainActionsSection.creditMemo}}" stepKey="pushButtonCreditMemo" after="seeMessage"/>
24+
<waitForPageLoad stepKey="waitForLoadingCreditMemoPage" after="pushButtonCreditMemo"/>
25+
<scrollTo selector="{{AdminCreditMemoTotalSection.submitRefundOffline}}" stepKey="scrollToBottom" after="waitForLoadingCreditMemoPage"/>
26+
<click selector="{{AdminCreditMemoTotalSection.submitRefundOffline}}" stepKey="clickSubmitRefund" after="scrollToBottom"/>
27+
<waitForPageLoad stepKey="waitForMainOrderPageLoad" after="clickSubmitRefund"/>
28+
<see userInput="You created the credit memo." stepKey="seeCreditMemoMessage" after="waitForMainOrderPageLoad"/>
29+
</actionGroup>
30+
</actionGroups>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminOrderActionOnGridActionGroup">
12+
<arguments>
13+
<argument name="action" type="string"/>
14+
<argument name="orderId" type="string"/>
15+
</arguments>
16+
<checkOption selector="{{AdminOrdersGridSection.selectOrderID(orderId)}}" stepKey="selectOrder"/>
17+
<waitForLoadingMaskToDisappear stepKey="waitForCheck"/>
18+
<click selector="{{AdminOrdersGridSection.selectActions}}" stepKey="openActions"/>
19+
<click selector="{{AdminOrdersGridSection.dropdownActionItem(action)}}" stepKey="selectAction"/>
20+
<waitForPageLoad stepKey="waitForResults"/>
21+
</actionGroup>
22+
<actionGroup name="AdminTwoOrderActionOnGridActionGroup" extends="AdminOrderActionOnGridActionGroup">
23+
<arguments>
24+
<argument name="secondOrderId" type="string"/>
25+
</arguments>
26+
<checkOption selector="{{AdminOrdersGridSection.selectOrderID(secondOrderId)}}" stepKey="selectSecondOrder" after="waitForCheck"/>
27+
<waitForLoadingMaskToDisappear stepKey="waitForSecondCheck" after="selectSecondOrder"/>
28+
</actionGroup>
29+
</actionGroups>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminOrderFilterByOrderIdAndStatusActionGroup">
12+
<arguments>
13+
<argument name="orderId" type="string"/>
14+
<argument name="orderStatus" type="string"/>
15+
</arguments>
16+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="navigateToOrderGridPage"/>
17+
<waitForPageLoad stepKey="waitForLoadingPage"/>
18+
<conditionalClick selector="{{AdminOrdersGridSection.clearFilters}}" dependentSelector="{{AdminOrdersGridSection.clearFilters}}" visible="true" stepKey="clearExistingOrderFilters"/>
19+
<click selector="{{AdminOrdersGridSection.filters}}" stepKey="openOrderGridFilters"/>
20+
<fillField selector="{{AdminOrdersGridSection.idFilter}}" userInput="{{orderId}}" stepKey="fillOrderIdFilter"/>
21+
<selectOption selector="{{AdminOrdersGridSection.selectStatus}}" userInput="{{orderStatus}}" stepKey="selectOrderStatus"/>
22+
<click selector="{{AdminOrdersGridSection.applyFilters}}" stepKey="clickOrderApplyFilters"/>
23+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMask"/>
24+
</actionGroup>
25+
</actionGroups>
26+

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<element name="submitSearch22" type="button" selector=".//*[@class=&quot;admin__data-grid-filters-wrap&quot;]/parent::*/div[@class=&quot;data-grid-search-control-wrap&quot;]/button"/>
1717
<element name="filters" type="button" selector="button[data-action='grid-filter-expand']" timeout="30"/>
1818
<element name="idFilter" type="input" selector=".admin__data-grid-filters input[name='increment_id']"/>
19+
<element name="selectStatus" type="select" selector="select[name='status']"/>
1920
<element name="billToNameFilter" type="input" selector=".admin__data-grid-filters input[name='billing_name']"/>
2021
<element name="enabledFilters" type="block" selector=".admin__data-grid-header .admin__data-grid-filters-current._show"/>
2122
<element name="clearFilters" type="button" selector=".admin__data-grid-header [data-action='grid-filter-reset']" timeout="30"/>
@@ -31,9 +32,12 @@
3132
<element name="viewColumnCheckbox" type="checkbox" selector="//div[contains(@class,'admin__data-grid-action-columns')]//div[contains(@class, 'admin__field-option')]//label[text() = '{{column}}']/preceding-sibling::input" parameterized="true"/>
3233
<element name="customerInOrdersSection" type="button" selector="(//td[contains(text(),'{{customer}}')])[1]" parameterized="true"/>
3334
<element name="productForOrder" type="button" selector="//td[contains(text(),'{{var}}')]" parameterized="true"/>
35+
<element name="selectActions" type="button" selector=".action-select-wrap > .action-select" timeout="30"/>
36+
<element name="dropdownActionItem" type="button" selector="(//div[contains(@class, 'action-menu-items')]//span[text()='{{action}}'])[1]" timeout="30" parameterized="true"/>
3437
<element name="checkOrder" type="input" selector="//td[count(//div[@data-role='grid-wrapper'])]//input"/>
3538
<element name="orderActions" type="button" selector="//div[contains(concat(' ',normalize-space(@class),' '),' row-gutter ')]//button[@title='Select Items']"/>
3639
<element name="changeOrderStatus" type="button" selector="//div[contains(concat(' ',normalize-space(@class),' '),' row-gutter ')]//span[text()='{{status}}']" parameterized="true" timeout="30"/>
3740
<element name="viewLink" type="text" selector="//td/div[contains(.,'{{orderID}}')]/../..//a[@class='action-menu-item']" parameterized="true"/>
41+
<element name="selectOrderID" type="checkbox" selector="//td/div[text()='{{orderId}}']/../preceding-sibling::td//input" parameterized="true"/>
3842
</section>
3943
</sections>
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
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="AdminMassOrdersCancelCompleteAndClosedTest">
12+
<annotations>
13+
<stories value="Mass Update Orders"/>
14+
<title value="Mass cancel orders in status Complete, Closed"/>
15+
<description value="Try to cancel orders in status Complete, Closed"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-16183"/>
18+
<group value="sales"/>
19+
<group value="mtf_migrated"/>
20+
</annotations>
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
23+
24+
<!-- Create Data -->
25+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
26+
<createData entity="_defaultCategory" stepKey="createCategory"/>
27+
<createData entity="defaultSimpleProduct" stepKey="createProduct">
28+
<requiredEntity createDataKey="createCategory"/>
29+
</createData>
30+
</before>
31+
<after>
32+
<!-- Delete data -->
33+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
34+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
35+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
36+
<actionGroup ref="logout" stepKey="logout"/>
37+
</after>
38+
39+
<!-- Create first order -->
40+
<actionGroup ref="CreateOrderActionGroup" stepKey="createFirstOrder">
41+
<argument name="product" value="$$createProduct$$"/>
42+
<argument name="customer" value="$$createCustomer$$"/>
43+
</actionGroup>
44+
<grabTextFrom selector="|Order # (\d+)|" stepKey="getFirstOrderId"/>
45+
<assertNotEmpty actual="$getFirstOrderId" stepKey="assertOrderIdIsNotEmpty" after="getFirstOrderId"/>
46+
47+
<!-- Create Shipment for first Order -->
48+
<actionGroup ref="AdminCreateInvoiceAndShipmentActionGroup" stepKey="createShipmentForFirstOrder"/>
49+
50+
<!-- Create second order -->
51+
<actionGroup ref="CreateOrderActionGroup" stepKey="createSecondOrder">
52+
<argument name="product" value="$$createProduct$$"/>
53+
<argument name="customer" value="$$createCustomer$$"/>
54+
</actionGroup>
55+
<grabTextFrom selector="|Order # (\d+)|" stepKey="getSecondOrderId"/>
56+
<assertNotEmpty actual="$getSecondOrderId" stepKey="assertSecondOrderIdIsNotEmpty" after="getSecondOrderId"/>
57+
58+
<!-- Create CreditMemo for second Order -->
59+
<actionGroup ref="AdminCreateInvoiceAndCreditMemoActionGroup" stepKey="createCreditMemo"/>
60+
61+
<!-- Navigate to backend: Go to Sales > Orders -->
62+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="onOrderPage"/>
63+
<waitForPageLoad stepKey="waitForOrderPageLoad"/>
64+
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearFilters"/>
65+
<waitForLoadingMaskToDisappear stepKey="waitForLoading"/>
66+
67+
<!-- Select Mass Action according to dataset: Cancel -->
68+
<actionGroup ref="AdminTwoOrderActionOnGridActionGroup" stepKey="massActionCancel">
69+
<argument name="action" value="Cancel"/>
70+
<argument name="orderId" value="{$getFirstOrderId}"/>
71+
<argument name="secondOrderId" value="{$getSecondOrderId}"/>
72+
</actionGroup>
73+
<see userInput="You cannot cancel the order(s)." stepKey="assertOrderCancelMassActionFailMessage"/>
74+
75+
<!--Assert first order in orders grid -->
76+
<actionGroup ref="AdminOrderFilterByOrderIdAndStatusActionGroup" stepKey="seeFirstOrder">
77+
<argument name="orderId" value="{$getFirstOrderId}"/>
78+
<argument name="orderStatus" value="Complete"/>
79+
</actionGroup>
80+
<see userInput="{$getFirstOrderId}" selector="{{AdminOrdersGridSection.gridCell('1','ID')}}" stepKey="assertFirstOrderID"/>
81+
<see userInput="Complete" selector="{{AdminOrdersGridSection.gridCell('1','Status')}}" stepKey="assertFirstOrderStatus"/>
82+
83+
<!--Assert second order in orders grid -->
84+
<actionGroup ref="AdminOrderFilterByOrderIdAndStatusActionGroup" stepKey="seeSecondOrder">
85+
<argument name="orderId" value="{$getSecondOrderId}"/>
86+
<argument name="orderStatus" value="Closed"/>
87+
</actionGroup>
88+
<see userInput="{$getSecondOrderId}" selector="{{AdminOrdersGridSection.gridCell('1','ID')}}" stepKey="assertSecondOrderID"/>
89+
<see userInput="Closed" selector="{{AdminOrdersGridSection.gridCell('1','Status')}}" stepKey="assertSecondStatus"/>
90+
</test>
91+
</tests>
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
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="AdminMassOrdersCancelProcessingAndClosedTest">
12+
<annotations>
13+
<stories value="Mass Update Orders"/>
14+
<title value="Mass cancel orders in status Processing, Closed"/>
15+
<description value="Try to cancel orders in status Processing, Closed"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-16184"/>
18+
<group value="sales"/>
19+
<group value="mtf_migrated"/>
20+
</annotations>
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
23+
24+
<!-- Create Data -->
25+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
26+
<createData entity="_defaultCategory" stepKey="createCategory"/>
27+
<createData entity="defaultSimpleProduct" stepKey="createProduct">
28+
<requiredEntity createDataKey="createCategory"/>
29+
</createData>
30+
</before>
31+
<after>
32+
<!-- Delete data -->
33+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
34+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
35+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
36+
<actionGroup ref="logout" stepKey="logout"/>
37+
</after>
38+
39+
<!-- Create first order -->
40+
<actionGroup ref="CreateOrderActionGroup" stepKey="createFirstOrder">
41+
<argument name="product" value="$$createProduct$$"/>
42+
<argument name="customer" value="$$createCustomer$$"/>
43+
</actionGroup>
44+
<grabTextFrom selector="|Order # (\d+)|" stepKey="getFirstOrderId"/>
45+
<assertNotEmpty actual="$getFirstOrderId" stepKey="assertOrderIdIsNotEmpty" after="getFirstOrderId"/>
46+
47+
<!-- Create Invoice for first Order -->
48+
<actionGroup ref="AdminCreateInvoiceActionGroup" stepKey="createInvoice"/>
49+
50+
<!-- Create second order -->
51+
<actionGroup ref="CreateOrderActionGroup" stepKey="createSecondOrder">
52+
<argument name="product" value="$$createProduct$$"/>
53+
<argument name="customer" value="$$createCustomer$$"/>
54+
</actionGroup>
55+
<grabTextFrom selector="|Order # (\d+)|" stepKey="getSecondOrderId"/>
56+
<assertNotEmpty actual="$getSecondOrderId" stepKey="assertSecondOrderIdIsNotEmpty" after="getSecondOrderId"/>
57+
58+
<!-- Create CreditMemo for second Order -->
59+
<actionGroup ref="AdminCreateInvoiceAndCreditMemoActionGroup" stepKey="createCreditMemo"/>
60+
61+
<!-- Navigate to backend: Go to Sales > Orders -->
62+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="onOrderPage"/>
63+
<waitForPageLoad stepKey="waitForOrderPageLoad"/>
64+
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearFilters"/>
65+
<waitForLoadingMaskToDisappear stepKey="waitForLoading"/>
66+
67+
<!-- Select Mass Action according to dataset: Cancel -->
68+
<actionGroup ref="AdminTwoOrderActionOnGridActionGroup" stepKey="massActionCancel">
69+
<argument name="action" value="Cancel"/>
70+
<argument name="orderId" value="{$getFirstOrderId}"/>
71+
<argument name="secondOrderId" value="{$getSecondOrderId}"/>
72+
</actionGroup>
73+
<see userInput="You cannot cancel the order(s)." stepKey="assertOrderCancelMassActionFailMessage"/>
74+
75+
<!--Assert first order in orders grid -->
76+
<actionGroup ref="AdminOrderFilterByOrderIdAndStatusActionGroup" stepKey="seeFirstOrder">
77+
<argument name="orderId" value="{$getFirstOrderId}"/>
78+
<argument name="orderStatus" value="Processing"/>
79+
</actionGroup>
80+
<see userInput="{$getFirstOrderId}" selector="{{AdminOrdersGridSection.gridCell('1','ID')}}" stepKey="assertFirstOrderID"/>
81+
<see userInput="Processing" selector="{{AdminOrdersGridSection.gridCell('1','Status')}}" stepKey="assertFirstOrderStatus"/>
82+
83+
<!--Assert second order in orders grid -->
84+
<actionGroup ref="AdminOrderFilterByOrderIdAndStatusActionGroup" stepKey="seeSecondOrder">
85+
<argument name="orderId" value="{$getSecondOrderId}"/>
86+
<argument name="orderStatus" value="Closed"/>
87+
</actionGroup>
88+
<see userInput="{$getSecondOrderId}" selector="{{AdminOrdersGridSection.gridCell('1','ID')}}" stepKey="assertSecondOrderID"/>
89+
<see userInput="Closed" selector="{{AdminOrdersGridSection.gridCell('1','Status')}}" stepKey="assertSecondStatus"/>
90+
</test>
91+
</tests>

0 commit comments

Comments
 (0)