Skip to content

Commit 7a38191

Browse files
authored
Merge pull request magento#108 from magento-pangolin/MC-4456
MC-4456
2 parents c5171d6 + a14aec5 commit 7a38191

File tree

6 files changed

+231
-0
lines changed

6 files changed

+231
-0
lines changed

app/code/Magento/Catalog/Test/Mftf/ActionGroup/StorefrontProductPageActionGroup.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
<see selector="{{StorefrontMessagesSection.success}}" userInput="You added {{productName}} to your shopping cart." stepKey="seeAddToCartSuccessMessage"/>
2020
</actionGroup>
2121

22+
<actionGroup name="AddProductWithQtyToCartFromStorefrontProductPage" extends="addToCartFromStorefrontProductPage">
23+
<arguments>
24+
<argument name="productName" type="string"/>
25+
<argument name="productQty" type="string"/>
26+
</arguments>
27+
<fillField selector="{{StorefrontProductActionSection.quantity}}" userInput="{{productQty}}" stepKey="fillProductQuantity" before="addToCart"/>
28+
</actionGroup>
29+
2230
<!--Verify text length validation hint with multiple inputs-->
2331
<actionGroup name="testDynamicValidationHint">
2432
<arguments>

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,11 @@
472472
<var key="sku" entityType="product" entityKey="sku" />
473473
<requiredEntity type="product_option">ProductOptionValueDropdown</requiredEntity>
474474
</entity>
475+
<entity name="productWithDropdownAndFieldOptions" type="product">
476+
<var key="sku" entityType="product" entityKey="sku" />
477+
<requiredEntity type="product_option">ProductOptionValueDropdown</requiredEntity>
478+
<requiredEntity type="product_option">ProductOptionField</requiredEntity>
479+
</entity>
475480
<entity name="ProductWithTextFieldAndAreaOptions" type="product">
476481
<var key="sku" entityType="product" entityKey="sku" />
477482
<requiredEntity type="product_option">ProductOptionField</requiredEntity>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AssertShoppingCartIsEmptyActionGroup">
11+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="amOnPageShoppingCart"/>
12+
<waitForPageLoad stepKey="waitForCheckoutPageLoad"/>
13+
<see userInput="You have no items in your shopping cart." stepKey="seeNoItemsInShoppingCart"/>
14+
</actionGroup>
15+
</actionGroups>

app/code/Magento/Checkout/Test/Mftf/Data/QuoteData.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,21 @@
3737
<data key="subtotal">1,320.00</data>
3838
<data key="currency">$</data>
3939
</entity>
40+
<entity name="quoteQty2Price123" type="Quote">
41+
<data key="price">123.00</data>
42+
<data key="qty">2</data>
43+
<data key="shipping">10.00</data>
44+
<data key="subtotal">246.00</data>
45+
<data key="total">256.00</data>
46+
<data key="currency">$</data>
47+
</entity>
48+
<entity name="quoteQty2Subtotal266" type="Quote">
49+
<data key="qty">2</data>
50+
<data key="customOptionsPrice">20</data>
51+
<data key="price">143</data>
52+
<data key="subtotal">266.00</data>
53+
<data key="shipping">10.00</data>
54+
<data key="total">276.00</data>
55+
<data key="currency">$</data>
56+
</entity>
4057
</entities>
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
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="ShoppingCartAndMiniShoppingCartPerCustomerTest">
12+
<annotations>
13+
<features value="Checkout"/>
14+
<stories value="Shopping Cart and Mini Shopping Cart per Customer"/>
15+
<title value="Shopping cart and mini shopping cart per customer test"/>
16+
<description value="Shopping cart and mini shopping cart per customer with enabled cached"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-14730"/>
19+
<group value="checkout"/>
20+
</annotations>
21+
<before>
22+
<!-- Flush cache -->
23+
<magentoCLI command="cache:flush" stepKey="clearCache"/>
24+
25+
<!-- Create two customers -->
26+
<createData entity="Simple_US_Customer" stepKey="createFirstCustomer"/>
27+
<createData entity="Simple_US_CA_Customer" stepKey="createSecondCustomer"/>
28+
29+
<!-- Create products -->
30+
<createData entity="_defaultCategory" stepKey="createCategory"/>
31+
32+
<!-- Create simple product -->
33+
<createData entity="_defaultProduct" stepKey="createSimpleProduct">
34+
<requiredEntity createDataKey="createCategory"/>
35+
</createData>
36+
37+
<!-- Create simple product with custom options -->
38+
<createData entity="_defaultProduct" stepKey="createSimpleProductWithCustomOptions">
39+
<requiredEntity createDataKey="createCategory"/>
40+
</createData>
41+
<updateData createDataKey="createSimpleProductWithCustomOptions" entity="productWithDropdownAndFieldOptions" stepKey="updateProductWithCustomOption"/>
42+
</before>
43+
<after>
44+
<!-- Delete products -->
45+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
46+
<deleteData createDataKey="createSimpleProductWithCustomOptions" stepKey="deleteSimpleProductWithCustomOptions"/>
47+
48+
<!-- Delete category -->
49+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
50+
51+
<!-- Delete customers -->
52+
<deleteData createDataKey="createFirstCustomer" stepKey="deleteFirstCustomer"/>
53+
<deleteData createDataKey="createSecondCustomer" stepKey="deleteSecondCustomer"/>
54+
</after>
55+
56+
<!-- Login as first customer -->
57+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccountAsFirstCustomer">
58+
<argument name="Customer" value="$$createFirstCustomer$$"/>
59+
</actionGroup>
60+
61+
<!-- Assert cart is empty -->
62+
<actionGroup ref="AssertShoppingCartIsEmptyActionGroup" stepKey="seeEmptyShoppingCartForFirstCustomer"/>
63+
64+
<!-- Go to first product page -->
65+
<amOnPage url="{{StorefrontProductPage.url($$createSimpleProduct.custom_attributes[url_key]$$)}}" stepKey="goToFirstProductPage"/>
66+
<waitForPageLoad stepKey="waitForFirstProductPageLoad"/>
67+
68+
<!-- Add the product to the shopping cart -->
69+
<actionGroup ref="addToCartFromStorefrontProductPage" stepKey="addFirstProductToCart">
70+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
71+
</actionGroup>
72+
73+
<!-- Go to the second product page -->
74+
<amOnPage url="{{StorefrontProductPage.url($$createSimpleProductWithCustomOptions.custom_attributes[url_key]$$)}}" stepKey="goToSecondProductPage"/>
75+
<waitForPageLoad stepKey="waitForSecondProductPageLoad"/>
76+
77+
<!-- Fill the custom options values -->
78+
<actionGroup ref="StorefrontSelectOptionDropDownActionGroup" stepKey="selectFirstOption">
79+
<argument name="optionTitle" value="ProductOptionValueDropdown"/>
80+
<argument name="option" value="ProductOptionValueWithSkuDropdown1.title"/>
81+
</actionGroup>
82+
<fillField selector="{{StorefrontProductInfoMainSection.productOptionFieldInput(ProductOptionField.title)}}" userInput="OptionField" stepKey="fillProductOptionInputField"/>
83+
84+
<!-- Add the product to the shopping cart -->
85+
<actionGroup ref="StorefrontAddToCartCustomOptionsProductPageActionGroup" stepKey="addSecondProductToCart">
86+
<argument name="productName" value="$$createSimpleProductWithCustomOptions.name$$"/>
87+
</actionGroup>
88+
89+
<!-- Logout first customer -->
90+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="firstCustomerLogout"/>
91+
92+
<!-- Login as second customer -->
93+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginToStorefrontAccountAsSecondCustomer">
94+
<argument name="Customer" value="$$createSecondCustomer$$"/>
95+
</actionGroup>
96+
97+
<!-- Assert cart is empty -->
98+
<actionGroup ref="AssertShoppingCartIsEmptyActionGroup" stepKey="seeEmptyShoppingCartForSecondCustomer"/>
99+
100+
<!-- Go to first product page -->
101+
<amOnPage url="{{StorefrontProductPage.url($$createSimpleProduct.custom_attributes[url_key]$$)}}" stepKey="goToProductPage"/>
102+
<waitForPageLoad stepKey="waitForProductPage"/>
103+
104+
<!-- Add the product to the shopping cart -->
105+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPage" stepKey="addProductToCart">
106+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
107+
<argument name="productQty" value="{{quoteQty2Price123.qty}}"/>
108+
</actionGroup>
109+
110+
<!-- Logout second customer -->
111+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="secondCustomerLogout"/>
112+
113+
<!-- Login as first customer -->
114+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginAsFirstCustomer">
115+
<argument name="Customer" value="$$createFirstCustomer$$"/>
116+
</actionGroup>
117+
118+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="amOnPageShoppingCart"/>
119+
<waitForPageLoad stepKey="waitForCheckoutPageLoad"/>
120+
121+
<!-- Assert first products present in shopping cart -->
122+
<actionGroup ref="StorefrontCheckCartSimpleProductActionGroup" stepKey="checkFirstProductInCart">
123+
<argument name="product" value="$$createSimpleProduct$$"/>
124+
<argument name="productQuantity" value="ApiSimpleSingleQty.quantity"/>
125+
</actionGroup>
126+
127+
<!-- Assert second products present in shopping cart -->
128+
<seeElement selector="{{CheckoutCartProductSection.ProductLinkByName($$createSimpleProductWithCustomOptions.name$$)}}" stepKey="assertProductName"/>
129+
<see selector="{{CheckoutCartProductSection.ProductPriceByName($$createSimpleProductWithCustomOptions.name$$)}}" userInput="{{quoteQty2Subtotal266.currency}}{{quoteQty2Subtotal266.price}}" stepKey="assertProductPrice"/>
130+
<see selector="{{CheckoutCartProductSection.ProductOptionByNameAndAttribute($$createSimpleProductWithCustomOptions.name$$, ProductOptionField.title)}}" userInput="OptionField" stepKey="seeFieldOption"/>
131+
<see selector="{{CheckoutCartProductSection.ProductOptionByNameAndAttribute($$createSimpleProductWithCustomOptions.name$$, ProductOptionValueDropdown.title)}}" userInput="{{ProductOptionValueWithSkuDropdown1.title}}" stepKey="seeDropDownOption"/>
132+
133+
<!-- Assert subtotal and grand total -->
134+
<see selector="{{StorefrontProductPageSection.subTotal}}" userInput="{{quoteQty2Subtotal266.currency}}{{quoteQty2Subtotal266.subtotal}}" stepKey="seeFirstCustomerSubTotal"/>
135+
<see selector="{{StorefrontProductPageSection.orderTotal}}" userInput="{{quoteQty2Subtotal266.currency}}{{quoteQty2Subtotal266.total}}" stepKey="seeFirstCustomerOrderTotal"/>
136+
137+
<!-- Assert products in mini cart for first customer -->
138+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStoreFrontHomePage"/>
139+
<waitForPageLoad stepKey="waitForHomePageLoad"/>
140+
<actionGroup ref="assertOneProductNameInMiniCart" stepKey="assertFirstProductInMiniCart">
141+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
142+
</actionGroup>
143+
<actionGroup ref="assertOneProductNameInMiniCart" stepKey="assertSecondProductInMiniCart">
144+
<argument name="productName" value="$$createSimpleProductWithCustomOptions.name$$"/>
145+
</actionGroup>
146+
<actionGroup ref="AssertMiniShoppingCartSubTotalActionGroup" stepKey="assertMiniCartSubTotal">
147+
<argument name="dataQuote" value="quoteQty2Subtotal266"/>
148+
</actionGroup>
149+
150+
<!-- Logout first customer -->
151+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutFirstCustomer"/>
152+
153+
<!-- Login as second customer -->
154+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginAsSecondCustomer">
155+
<argument name="Customer" value="$$createSecondCustomer$$"/>
156+
</actionGroup>
157+
158+
<!-- Assert first products present in shopping cart -->
159+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="amOnShoppingCartPage"/>
160+
<waitForPageLoad stepKey="waitForShoppingCartPageLoad"/>
161+
<actionGroup ref="StorefrontCheckCartSimpleProductActionGroup" stepKey="checkProductInCart">
162+
<argument name="product" value="$$createSimpleProduct$$"/>
163+
<argument name="productQuantity" value="quoteQty2Price123.qty"/>
164+
</actionGroup>
165+
166+
<!-- Assert subtotal and grand total -->
167+
<see selector="{{StorefrontProductPageSection.subTotal}}" userInput="{{quoteQty2Price123.currency}}{{quoteQty2Price123.subtotal}}" stepKey="seeSecondCustomerSubTotal"/>
168+
<see selector="{{StorefrontProductPageSection.orderTotal}}" userInput="{{quoteQty2Price123.currency}}{{quoteQty2Price123.total}}" stepKey="seeSecondCustomerOrderTotal"/>
169+
170+
<!-- Assert product in mini cart -->
171+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToHomePage"/>
172+
<waitForPageLoad stepKey="waitForHomePageToLoad"/>
173+
<click selector="{{StorefrontMinicartSection.showCart}}" stepKey="clickOnMiniCart"/>
174+
<waitForPageLoad stepKey="waitForPageToLoad"/>
175+
<actionGroup ref="AssertStorefrontMiniCartItemsActionGroup" stepKey="assertProductInMiniCart">
176+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
177+
<argument name="productPrice" value="$$createSimpleProduct.price$$"/>
178+
<argument name="cartSubtotal" value="{{quoteQty2Price123.currency}}{{quoteQty2Price123.subtotal}}"/>
179+
<argument name="qty" value="{{quoteQty2Price123.qty}}"/>
180+
</actionGroup>
181+
182+
<!-- Logout second customer -->
183+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutSecondCustomer"/>
184+
</test>
185+
</tests>

dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/ShoppingCartPerCustomerTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/etc/variations.xsd">
99
<testCase name="Magento\Checkout\Test\TestCase\ShoppingCartPerCustomerTest" summary="Shopping Cart and Mini Shopping Cart per Customer with enabled cached" ticketId="MAGETWO-37214">
1010
<variation name="ShoppingCartPerCustomerTestVariation1" summary="Shopping Cart and Mini Shopping Cart per Customer with enabled cached" ticketId="MAGETWO-37214">
11+
<data name="tag" xsi:type="string">mftf_migrated:yes</data>
1112
<data name="productsData/0" xsi:type="string">catalogProductSimple::default</data>
1213
<data name="productsData/1" xsi:type="string">catalogProductSimple::with_two_custom_option</data>
1314
<data name="customerDataset" xsi:type="string">johndoe_unique_firstname</data>

0 commit comments

Comments
 (0)