Skip to content

Commit 6e20bdd

Browse files
committed
MAGETWO-91658: Wrong Checkout Totals Sort Order in cart
- Added automated test
1 parent 5746734 commit 6e20bdd

File tree

6 files changed

+202
-0
lines changed

6 files changed

+202
-0
lines changed

app/code/Magento/Checkout/Test/Mftf/ActionGroup/CheckoutActionGroup.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@
8686
<see userInput="${{total}}" selector="{{CheckoutPaymentSection.orderSummaryTotal}}" stepKey="assertTotal"/>
8787
</actionGroup>
8888

89+
<actionGroup name="CheckTotalsSortOrderInSummarySection">
90+
<arguments>
91+
<argument name="elementName" type="string"/>
92+
<argument name="positionNumber" type="integer"/>
93+
</arguments>
94+
<see userInput="{{elementName}}" selector="{{CheckoutCartSummarySection.elementPosition(positionNumber)}}" stepKey="assertElementPosition"/>
95+
</actionGroup>
96+
8997
<!-- Check ship to information in checkout -->
9098
<actionGroup name="CheckShipToInformationInCheckoutActionGroup">
9199
<arguments>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<entity name="CheckoutShippingTotalsSortOrder" type="checkout_totals_sort_order">
12+
<requiredEntity type="shipping">ShippingTotalsSortOrder</requiredEntity>
13+
</entity>
14+
15+
<entity name="ShippingTotalsSortOrder" type="shipping">
16+
<data key="value">27</data>
17+
</entity>
18+
19+
<entity name="DefaultCheckoutTotalsSortOrder" type="default_checkout_totals_sort_order">
20+
<requiredEntity type="checkoutTotalFlagZero">DefaultTotalFlagZero</requiredEntity>
21+
</entity>
22+
<entity name="DefaultTotalFlagZero" type="checkoutTotalFlagZero">
23+
<data key="value">0</data>
24+
</entity>
25+
</entities>
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
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+
<operations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataOperation.xsd">
9+
<operation name="SetCheckoutTotalsSortOrder" dataType="checkout_totals_sort_order" type="create" auth="adminFormKey" url="/admin/system_config/save/section/sales/" method="POST">
10+
<object key="groups" dataType="checkout_totals_sort_order">
11+
<object key="totals_sort" dataType="checkout_totals_sort_order">
12+
<object key="fields" dataType="checkout_totals_sort_order">
13+
<object key="subtotal" dataType="subtotal">
14+
<field key="value">integer</field>
15+
</object>
16+
<object key="discount" dataType="discount">
17+
<field key="value">integer</field>
18+
</object>
19+
<object key="shipping" dataType="shipping">
20+
<field key="value">integer</field>
21+
</object>
22+
<object key="tax" dataType="tax">
23+
<field key="value">integer</field>
24+
</object>
25+
<object key="weee" dataType="weee">
26+
<field key="value">integer</field>
27+
</object>
28+
<object key="grand_total" dataType="grand_total">
29+
<field key="value">integer</field>
30+
</object>
31+
<object key="giftcardaccount" dataType="giftcardaccount">
32+
<field key="value">integer</field>
33+
</object>
34+
<object key="customerbalance" dataType="customerbalance">
35+
<field key="value">integer</field>
36+
</object>
37+
</object>
38+
</object>
39+
</object>
40+
</operation>
41+
42+
<operation name="DefaultCheckoutTotalsSortOrder" dataType="default_checkout_totals_sort_order" type="create" auth="adminFormKey" url="/admin/system_config/save/section/sales/" method="POST">
43+
<object key="groups" dataType="default_checkout_totals_sort_order">
44+
<object key="totals_sort" dataType="default_checkout_totals_sort_order">
45+
<object key="fields" dataType="default_checkout_totals_sort_order">
46+
<object key="subtotal" dataType="default_checkout_totals_sort_order">
47+
<object key="inherit" dataType="checkoutTotalFlagZero">
48+
<field key="value">integer</field>
49+
</object>
50+
</object>
51+
<object key="discount" dataType="default_checkout_totals_sort_order">
52+
<object key="inherit" dataType="checkoutTotalFlagZero">
53+
<field key="value">integer</field>
54+
</object>
55+
</object>
56+
<object key="shipping" dataType="default_checkout_totals_sort_order">
57+
<object key="inherit" dataType="checkoutTotalFlagZero">
58+
<field key="value">integer</field>
59+
</object>
60+
</object>
61+
<object key="tax" dataType="default_checkout_totals_sort_order">
62+
<object key="inherit" dataType="checkoutTotalFlagZero">
63+
<field key="value">integer</field>
64+
</object>
65+
</object>
66+
<object key="weee" dataType="default_checkout_totals_sort_order">
67+
<object key="inherit" dataType="checkoutTotalFlagZero">
68+
<field key="value">integer</field>
69+
</object>
70+
</object>
71+
<object key="grand_total" dataType="default_checkout_totals_sort_order">
72+
<object key="inherit" dataType="checkoutTotalFlagZero">
73+
<field key="value">integer</field>
74+
</object>
75+
</object>
76+
<object key="giftcardaccount" dataType="giftcardaccount">
77+
<field key="value">integer</field>
78+
</object>
79+
<object key="customerbalance" dataType="customerbalance">
80+
<field key="value">integer</field>
81+
</object>
82+
</object>
83+
</object>
84+
</object>
85+
</operation>
86+
</operations>

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutCartSummarySection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +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="CheckoutCartSummarySection">
12+
<element name="elementPosition" type="text" selector=".data.table.totals > tbody tr:nth-of-type({{value}}) > th" parameterized="true"/>
1213
<element name="subtotal" type="text" selector="//*[@id='cart-totals']//tr[@class='totals sub']//td//span[@class='price']"/>
1314
<element name="shippingMethod" type="text" selector="//*[@id='cart-totals']//tr[@class='totals shipping excl']//th//span[@class='value']"/>
1415
<element name="shipping" type="text" selector="//*[@id='cart-totals']//tr[@class='totals shipping excl']//td//span[@class='price']"/>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
10+
<test name="CheckoutTotalsSortOrderInCartTest">
11+
<annotations>
12+
<title value="Checkout Totals Sort Order configuration and displaying in cart"/>
13+
<stories value="MAGETWO-91658: Wrong Checkout Totals Sort Order in cart"/>
14+
<description value="Checkout Totals Sort Order configuration and displaying in cart"/>
15+
<features value="Checkout"/>
16+
<severity value="AVERAGE"/>
17+
<testCaseId value="MAGETWO-94944"/>
18+
<group value="Checkout"/>
19+
</annotations>
20+
21+
<before>
22+
<createData entity="_defaultCategory" stepKey="defaultCategory"/>
23+
<createData entity="SimpleProduct" stepKey="simpleProduct">
24+
<requiredEntity createDataKey="defaultCategory"/>
25+
</createData>
26+
27+
<createData entity="ApiCartRule" stepKey="cartRule"/>
28+
29+
<createData entity="CheckoutShippingTotalsSortOrder" stepKey="setConfigShippingTotalsSortOrder"/>
30+
</before>
31+
32+
<actionGroup ref="VerifyDiscountAmount" stepKey="verifyStorefront">
33+
<argument name="productUrl" value="$$simpleProduct.sku$$.html"/>
34+
<argument name="quantity" value="1"/>
35+
<argument name="expectedDiscount" value="-$61.50"/>
36+
</actionGroup>
37+
38+
<actionGroup ref="CheckTotalsSortOrderInSummarySection" stepKey="checkTotalsSortOrderInSummarySection">
39+
<argument name="elementName" value="Shipping (Flat Rate - Fixed)"/>
40+
<argument name="positionNumber" value="3"/>
41+
</actionGroup>
42+
43+
<after>
44+
<createData entity="DefaultCheckoutTotalsSortOrder" stepKey="setDefaultTotalsSortOrder"/>
45+
46+
<deleteData createDataKey="cartRule" stepKey="deleteCartRule"/>
47+
<deleteData createDataKey="simpleProduct" stepKey="deleteProduct"/>
48+
<deleteData createDataKey="defaultCategory" stepKey="deleteCategory"/>
49+
50+
<magentoCLI command="cache:flush" stepKey="flushCache"/>
51+
</after>
52+
</test>
53+
</tests>

app/code/Magento/SalesRule/Test/Mftf/Data/SalesRuleData.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,35 @@
3939
<requiredEntity type="SalesRuleLabel">SalesRuleLabelStore1</requiredEntity>
4040
</entity>
4141

42+
<entity name="ApiCartRule" type="SalesRule">
43+
<data key="name" unique="suffix">salesRule</data>
44+
<data key="description">Sales Rule Descritpion</data>
45+
<array key="website_ids">
46+
<item>1</item>
47+
</array>
48+
<array key="customer_group_ids">
49+
<item>0</item>
50+
<item>1</item>
51+
<item>3</item>
52+
</array>
53+
<data key="uses_per_customer">0</data>
54+
<data key="is_active">true</data>
55+
<data key="stop_rules_processing">true</data>
56+
<data key="is_advanced">true</data>
57+
<data key="sort_order">0</data>
58+
<data key="simple_action">by_percent</data>
59+
<data key="discount_amount">50</data>
60+
<data key="discount_qty">0</data>
61+
<data key="discount_step">0</data>
62+
<data key="apply_to_shipping">false</data>
63+
<data key="times_used">0</data>
64+
<data key="is_rss">true</data>
65+
<data key="coupon_type">NO_COUPON</data>
66+
<data key="use_auto_generation">false</data>
67+
<data key="uses_per_coupon">0</data>
68+
<data key="simple_free_shipping">0</data>
69+
</entity>
70+
4271
<entity name="SimpleSalesRule" type="SalesRule">
4372
<data key="name" unique="suffix">SimpleSalesRule</data>
4473
<data key="is_active">true</data>

0 commit comments

Comments
 (0)