Skip to content

Commit 638ccd5

Browse files
committed
MC-25108: MFTF Flakiness because of bad design - StoreFrontMyAccountWithMultishipmentTest
1 parent 18c339e commit 638ccd5

File tree

5 files changed

+159
-4
lines changed

5 files changed

+159
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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/testSchema.xsd">
11+
<actionGroup name="AssertStorefrontCustomerOrderMatchesGrandTotalActionGroup">
12+
<grabTextFrom selector="{{StorefrontSalesOrderSection.salesOrderPrice('subtotal')}}" stepKey="grabValueForSubtotal"/>
13+
<grabTextFrom selector="{{StorefrontSalesOrderSection.salesOrderPrice('shipping')}}" stepKey="grabValueForShippingHandling"/>
14+
<grabTextFrom selector="{{StorefrontSalesOrderSection.salesOrderPrice('grand_total')}}" stepKey="grabValueForGrandTotal"/>
15+
<executeJS function="
16+
var grandTotal = '{$grabValueForGrandTotal}'.substr(1);
17+
return (grandTotal);" stepKey="grandTotalValue"/>
18+
<executeJS function="
19+
var subtotal = '{$grabValueForSubtotal}'.substr(1);
20+
var handling = '{$grabValueForShippingHandling}'.substr(1);
21+
var subtotalHandling = (parseFloat(subtotal) + parseFloat(handling)).toFixed(2);
22+
return (subtotalHandling);" stepKey="sumTotalValue"/>
23+
<assertEquals stepKey="assertSubTotalPrice">
24+
<expectedResult type="variable">sumTotalValue</expectedResult>
25+
<actualResult type="variable">grandTotalValue</actualResult>
26+
</assertEquals>
27+
</actionGroup>
28+
</actionGroups>

app/code/Magento/Multishipping/Test/Mftf/Test/StoreFrontMyAccountWithMultishipmentTest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
<annotations>
1313
<features value="Multishipping"/>
1414
<stories value="Shipping price shows 0 on Order view page after multiple address checkout"/>
15-
<title value="Verify Shipping price for Storefront after multiple address checkout"/>
15+
<title value="DEPRECATED. Verify Shipping price for Storefront after multiple address checkout"/>
1616
<description value="Verify that shipping price on My account matches with shipping method prices after multiple addresses checkout (Order view page)"/>
1717
<severity value="CRITICAL"/>
1818
<testCaseId value="MC-19303"/>
1919
<group value="multishipping"/>
2020
<skip>
21-
<issueId value="MC-22683"/>
21+
<issueId value="DEPRECATED">Please use StorefrontOrderWithMultishippingTest instead</issueId>
2222
</skip>
2323
</annotations>
2424

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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="StorefrontOrderWithMultishippingTest">
12+
<annotations>
13+
<features value="Multishipping"/>
14+
<stories value="Shipping price shows 0 on Order view page after multiple address checkout"/>
15+
<title value="Verify Shipping price for Storefront after multiple address checkout"/>
16+
<description value="Verify that shipping price on My account matches with shipping method prices after multiple addresses checkout (Order view page)"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-28900"/>
19+
<group value="catalog"/>
20+
<group value="sales"/>
21+
<group value="multishipping"/>
22+
</annotations>
23+
24+
<before>
25+
<createData entity="SimpleProduct2" stepKey="createProduct1"/>
26+
<createData entity="SimpleProduct2" stepKey="createProduct2"/>
27+
<createData entity="Simple_US_Customer_Two_Addresses" stepKey="createCustomer"/>
28+
<!-- Set configurations -->
29+
<magentoCLI command="config:set {{EnableMultiShippingCheckoutMultiple.path}} {{EnableMultiShippingCheckoutMultiple.value}}" stepKey="allowShippingToMultipleAddresses"/>
30+
<magentoCLI command="config:set {{EnableFreeShippingMethod.path}} {{EnableFreeShippingMethod.value}}" stepKey="enableFreeShipping"/>
31+
<magentoCLI command="config:set {{EnableFlatRateShippingMethod.path}} {{EnableFlatRateShippingMethod.value}}" stepKey="enableFlatRateShipping"/>
32+
<magentoCLI command="config:set {{EnableCheckMoneyOrderPaymentMethod.path}} {{EnableCheckMoneyOrderPaymentMethod.value}}" stepKey="enableCheckMoneyOrderPaymentMethod"/>
33+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
34+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccount">
35+
<argument name="Customer" value="$$createCustomer$$"/>
36+
</actionGroup>
37+
</before>
38+
39+
<after>
40+
<deleteData createDataKey="createProduct1" stepKey="deleteProduct1"/>
41+
<deleteData createDataKey="createProduct2" stepKey="deleteProduct2"/>
42+
<!-- Need logout before customer delete. Fatal error appears otherwise -->
43+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="customerLogout"/>
44+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
45+
<magentoCLI command="config:set {{DisableMultiShippingCheckoutMultiple.path}} {{DisableMultiShippingCheckoutMultiple.value}}" stepKey="withdrawShippingToMultipleAddresses"/>
46+
<magentoCLI command="config:set {{DisableFreeShippingMethod.path}} {{DisableFreeShippingMethod.value}}" stepKey="disableFreeShipping"/>
47+
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearAllOrdersGridFilters"/>
48+
<actionGroup ref="logout" stepKey="logoutFromAdmin"/>
49+
</after>
50+
51+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProduct1ToCart">
52+
<argument name="product" value="$$createProduct1$$"/>
53+
</actionGroup>
54+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProduct2ToCart">
55+
<argument name="product" value="$$createProduct2$$"/>
56+
</actionGroup>
57+
<actionGroup ref="StorefrontOpenCartFromMinicartActionGroup" stepKey="openCart"/>
58+
<actionGroup ref="CheckingWithMultipleAddressesActionGroup" stepKey="checkoutWithMultipleAddresses"/>
59+
<waitForPageLoad stepKey="waitForShippingInfoPageLoad"/>
60+
<actionGroup ref="SelectMultiShippingInfoActionGroup" stepKey="checkoutWithMultipleShipping"/>
61+
<!--Select Check / Money order Payment method-->
62+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyPayment"/>
63+
<actionGroup ref="SelectBillingInfoActionGroup" stepKey="checkoutWithPaymentMethod"/>
64+
<waitForPageLoad stepKey="waitForReviewOrderPageLoad"/>
65+
<actionGroup ref="ReviewOrderForMultiShipmentActionGroup" stepKey="reviewOrderForMultiShipment">
66+
<argument name="totalNameForFirstOrder" value="Shipping &amp; Handling"/>
67+
<argument name="totalPositionForFirstOrder" value="1"/>
68+
<argument name="totalNameForSecondOrder" value="Shipping &amp; Handling"/>
69+
<argument name="totalPositionForSecondOrder" value="2"/>
70+
</actionGroup>
71+
<waitForPageLoad stepKey="waitForPlaceOrderPageLoad"/>
72+
<actionGroup ref="StorefrontPlaceOrderForMultipleAddressesActionGroup" stepKey="placeOrder">
73+
<argument name="firstOrderPosition" value="1"/>
74+
<argument name="secondOrderPosition" value="2"/>
75+
</actionGroup>
76+
<waitForPageLoad stepKey="waitForOrderPageLoad"/>
77+
78+
<!-- Check first order-->
79+
<actionGroup ref="StorefrontCustomerOrdersViewOrderActionGroup" stepKey="openFirstOrder">
80+
<argument name="orderNumber" value="{$getFirstOrderIdPlaceOrder}"/>
81+
</actionGroup>
82+
<actionGroup ref="AssertStorefrontCustomerOrderMatchesGrandTotalActionGroup" stepKey="checkFirstOrderTotals"/>
83+
<!-- Check second order-->
84+
<actionGroup ref="StorefrontCustomerOrdersViewOrderActionGroup" stepKey="openSecondOrder">
85+
<argument name="orderNumber" value="{$getSecondOrderIdPlaceOrder}"/>
86+
</actionGroup>
87+
<actionGroup ref="AssertStorefrontCustomerOrderMatchesGrandTotalActionGroup" stepKey="checkSecondOrderTotals"/>
88+
89+
<!--Assert order in orders grid -->
90+
<!-- Go to order page -->
91+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openFirstOrderPage">
92+
<argument name="orderId" value="{$getFirstOrderIdPlaceOrder}"/>
93+
</actionGroup>
94+
<!-- Check status -->
95+
<see selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="Pending" stepKey="seeFirstOrderPendingStatus"/>
96+
<actionGroup ref="AdminSalesOrderActionGroup" stepKey="validateOrderTotalsForFirstOrder"/>
97+
<!-- Go to order page -->
98+
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openSecondOrderPage">
99+
<argument name="orderId" value="{$getSecondOrderIdPlaceOrder}"/>
100+
</actionGroup>
101+
<!-- Check status -->
102+
<see selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="Pending" stepKey="seeSecondOrderPendingStatus"/>
103+
<actionGroup ref="AdminSalesOrderActionGroup" stepKey="validateOrderTotalsForSecondOrder"/>
104+
</test>
105+
</tests>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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="StorefrontCustomerOrdersViewOrderActionGroup">
12+
<annotations>
13+
<description>Navigate to customer dashboard -> orders. Press 'View Order' button for specified order number. Notice: customer should be logged in.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="orderNumber" type="string" defaultValue="000000001"/>
17+
</arguments>
18+
19+
<amOnPage url="{{StorefrontCustomerOrdersHistoryPage.url}}" stepKey="openCustomerOrdersHistoryPage"/>
20+
<click selector="{{StorefrontCustomerOrdersGridSection.orderView(orderNumber)}}" stepKey="clickViewOrderButton"/>
21+
</actionGroup>
22+
</actionGroups>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="StorefrontCustomerOrdersGridSection">
12-
<element name="orderView" type="button" selector="//td[text()='{{orderNumber}}']/following-sibling::td[@class='col actions']/a[contains(@class, 'view')]" parameterized="true" />
13-
<element name="reorderBtn" type="button" selector="//td[text()='{{orderNumber}}']/following-sibling::td[@class='col actions']/a[contains(@class, 'order')]" parameterized="true" />
12+
<element name="orderView" type="button" selector="//td[text()='{{orderNumber}}']/following-sibling::td[@class='col actions']/a[contains(@class, 'view')]" parameterized="true" timeout="30" />
13+
<element name="reorderBtn" type="button" selector="//td[text()='{{orderNumber}}']/following-sibling::td[@class='col actions']/a[contains(@class, 'order')]" parameterized="true" timeout="30" />
1414
</section>
1515
</sections>

0 commit comments

Comments
 (0)