Skip to content

Commit d7d29cf

Browse files
authored
Merge pull request #125 from magento-pangolin/MC-4770
MC-4770
2 parents 9336220 + 75fc8fa commit d7d29cf

File tree

7 files changed

+256
-5
lines changed

7 files changed

+256
-5
lines changed

app/code/Magento/Customer/Test/Mftf/Section/AdminEditCustomerOrdersSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminEditCustomerOrdersSection">
1212
<element name="orderGrid" type="text" selector="#customer_orders_grid_table"/>
13+
<element name="orderIdInGrid" type="text" selector="//td[contains(., '{{orderId}}')]" parameterized="true"/>
1314
</section>
1415
</sections>

app/code/Magento/Sales/Test/Mftf/Data/OrderData.xml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
<data key="shipping">10.00</data>
1515
<data key="grandTotal">256.00</data>
1616
</entity>
17+
<entity name="AdminOrderSimpleProductWithCatalogRule" type="order">
18+
<data key="subtotal">110.70</data>
19+
<data key="shipping">5.00</data>
20+
<data key="grandTotal">115.70</data>
21+
</entity>
1722
<entity name="AdminOrderSimpleProduct" type="order">
1823
<data key="subtotal">123.00</data>
1924
<data key="shipping">5.00</data>
@@ -23,12 +28,11 @@
2328
<data key="from">200</data>
2429
<data key="to">400</data>
2530
</entity>
26-
<entity name="AdminOrderSimpleProductWithCatalogRule" type="order">
27-
<data key="subtotal">110.70</data>
28-
<data key="shipping">5.00</data>
29-
<data key="grandTotal">115.70</data>
31+
<entity name="AdminOrderMultipleProducts" type="order">
32+
<data key="subtotal">60.00</data>
33+
<data key="shipping">0.00</data>
34+
<data key="grandTotal">60.00</data>
3035
</entity>
31-
3236
<entity name="OrderStatus" type="status">
3337
<data key="canceled">Canceled</data>
3438
<data key="closed">Closed</data>
@@ -39,5 +43,6 @@
3943
<data key="pending">Pending</data>
4044
<data key="pendingPayment">Pending Payment</data>
4145
<data key="processing">Processing</data>
46+
<data key="ordered">Ordered</data>
4247
</entity>
4348
</entities>
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+
9+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminCreateOrderShoppingCartSection">
12+
<element name="shoppingCartBlock" type="text" selector="#sidebar_data_cart"/>
13+
<element name="addToOrderCheckBox" type="checkbox" selector="//div[@id='order-sidebar_cart']//tr[td[.='{{productName}}']]//input[contains(@name,'sidebar[add_cart_item]')]" parameterized="true" timeout="30"/>
14+
</section>
15+
</sections>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminCreateOrderWishListSection">
12+
<element name="wishListBlock" type="text" selector="#sidebar_data_wishlist"/>
13+
<element name="addProductToOrderCheckBox" type="checkbox" selector="//div[@id='order-sidebar_wishlist']//tr[td[.='{{productName}}']]//input[contains(@name,'sidebar[add_wishlist_item]')]" parameterized="true" timeout="30"/>
14+
<element name="addConfigProductToOrder" type="text" selector="//div[@id='order-sidebar_wishlist']//tr[td[contains(.,'{{configProductName}}')]]//a[contains(@class, 'icon-configure')]" parameterized="true" timeout="30"/>
15+
</section>
16+
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@
1717
<element name="itemsOrderedSummaryText" type="textarea" selector="//table[@class='data-table admin__table-primary order-tables']/tfoot/tr"/>
1818
<element name="configureSelectAttribute" type="select" selector="select[id*=attribute]"/>
1919
<element name="itemsSKU" type="text" selector="(//div[contains(@class, 'product-sku-block')])[{{productNumber}}]" parameterized="true"/>
20+
<element name="moveProduct" type="select" selector="//td[contains(.,'{{productName}}')]/../..//td//select" parameterized="true"/>
2021
</section>
2122
</sections>
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
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="CreateOrderFromEditCustomerPageTest">
12+
<annotations>
13+
<group value="Sales"/>
14+
<stories value="Create Order"/>
15+
<title value="Create order from edit customer page and add products to wish list and shopping cart"/>
16+
<description value="Create an order from edit customer page and add products to the wish list and shopping cart "/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-16161"/>
19+
<group value="mtf_migrated"/>
20+
<group value="banana"/>
21+
</annotations>
22+
23+
<before>
24+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
25+
<createData entity="FreeShippingMethodsSettingConfig" stepKey="freeShippingMethodsSettingConfig"/>
26+
27+
<!--Create simple customer-->
28+
<createData entity="Simple_US_Customer_CA" stepKey="simpleCustomer"/>
29+
30+
<!-- Create Simple Product -->
31+
<createData entity="SimpleProduct2" stepKey="simpleProduct">
32+
<field key="price">10.00</field>
33+
</createData>
34+
<createData entity="SimpleProduct2" stepKey="simpleProduct1">
35+
<field key="price">20.00</field>
36+
</createData>
37+
38+
<!-- Create configurable product and add it to the category -->
39+
<createData entity="ApiCategory" stepKey="createCategory"/>
40+
<createData entity="ApiConfigurableProduct" stepKey="createConfigProduct">
41+
<requiredEntity createDataKey="createCategory"/>
42+
</createData>
43+
44+
<!-- Create an attribute with two options to be used in the first child product -->
45+
<createData entity="productAttributeWithTwoOptions" stepKey="createConfigProductAttribute"/>
46+
<createData entity="productAttributeOption1" stepKey="createConfigProductAttributeOption1">
47+
<requiredEntity createDataKey="createConfigProductAttribute"/>
48+
</createData>
49+
50+
<!-- Add the attribute we just created to default attribute set -->
51+
<createData entity="AddToDefaultSet" stepKey="createConfigAddToAttributeSet">
52+
<requiredEntity createDataKey="createConfigProductAttribute"/>
53+
</createData>
54+
55+
<!-- Get the option of the attribute we created -->
56+
<getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeOption1">
57+
<requiredEntity createDataKey="createConfigProductAttribute"/>
58+
</getData>
59+
60+
<!-- Create a simple product and give it the attribute with option -->
61+
<createData entity="ApiSimpleOne" stepKey="createConfigChildProduct1">
62+
<requiredEntity createDataKey="createConfigProductAttribute"/>
63+
<requiredEntity createDataKey="getConfigAttributeOption1"/>
64+
<field key="price">30.00</field>
65+
</createData>
66+
67+
<!-- Create the configurable product -->
68+
<createData entity="ConfigurableProductTwoOptions" stepKey="createConfigProductOption">
69+
<requiredEntity createDataKey="createConfigProduct"/>
70+
<requiredEntity createDataKey="createConfigProductAttribute"/>
71+
<requiredEntity createDataKey="getConfigAttributeOption1"/>
72+
</createData>
73+
74+
<!-- Add simple product to the configurable product -->
75+
<createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild1">
76+
<requiredEntity createDataKey="createConfigProduct"/>
77+
<requiredEntity createDataKey="createConfigChildProduct1"/>
78+
</createData>
79+
<magentoCLI command="indexer:reindex" stepKey="reindex"/>
80+
<magentoCLI command="cache:flush" stepKey="flushCache"/>
81+
</before>
82+
<after>
83+
<createData entity="DisableFreeShippingConfig" stepKey="disableFreeShippingConfig"/>
84+
<deleteData createDataKey="simpleCustomer" stepKey="deleteSimpleCustomer"/>
85+
<deleteData createDataKey="simpleProduct" stepKey="deleteSimpleProduct"/>
86+
<deleteData createDataKey="simpleProduct1" stepKey="deleteSimpleProduct1"/>
87+
<deleteData createDataKey="createConfigChildProduct1" stepKey="deleteConfigChildProduct"/>
88+
<deleteData createDataKey="createConfigProduct" stepKey="deleteConfigurableProduct"/>
89+
<deleteData createDataKey="createConfigProductAttribute" stepKey="deleteProductAttribute"/>
90+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
91+
<actionGroup ref="logout" stepKey="logout"/>
92+
</after>
93+
94+
<!--Filter and Open the customer edit page -->
95+
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterTheCustomer">
96+
<argument name="email" value="$$simpleCustomer.email$$"/>
97+
</actionGroup>
98+
<click selector="{{AdminCustomerGridSection.customerEditLinkByEmail($$simpleCustomer.email$$)}}" stepKey="clickOnEditButton"/>
99+
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad"/>
100+
<click selector="{{AdminCustomerMainActionsSection.createOrderBtn}}" stepKey="clickOnCreateOrderButton"/>
101+
<waitForPageLoad stepKey="waitForOrderPageToLoad"/>
102+
103+
<!--Add configurable product to order-->
104+
<actionGroup ref="addConfigurableProductToOrderFromAdmin" stepKey="addConfigurableProductToOrder">
105+
<argument name="product" value="$$createConfigProduct$$"/>
106+
<argument name="attribute" value="$$createConfigProductAttribute$$"/>
107+
<argument name="option" value="$$getConfigAttributeOption1$$"/>
108+
</actionGroup>
109+
110+
<!--Add Simple product to order-->
111+
<actionGroup ref="addSimpleProductToOrder" stepKey="addSimpleProductToOrder">
112+
<argument name="product" value="$$simpleProduct$$"/>
113+
</actionGroup>
114+
115+
<!--Add Second Simple product to order-->
116+
<actionGroup ref="addSimpleProductToOrder" stepKey="addSecondSimpleProductToOrder">
117+
<argument name="product" value="$$simpleProduct1$$"/>
118+
</actionGroup>
119+
120+
<!-- Move Products to the WishList -->
121+
<selectOption selector="{{AdminOrderFormItemsOrderedSection.moveProduct($$simpleProduct.name$$)}}" userInput="Move to Wish List" stepKey="moveProductToWishList"/>
122+
<selectOption selector="{{AdminOrderFormItemsOrderedSection.moveProduct($$createConfigProduct.name$$)}}" userInput="Move to Wish List" stepKey="moveConfigurableProductToWishList"/>
123+
<click selector="{{OrdersGridSection.update}}" stepKey="clickOnUpdateItemsAndQuantity"/>
124+
<waitForPageLoad stepKey="waitForAdminCreateOrderWishListSectionPageLoad"/>
125+
126+
<!-- Assert products in Wish List section -->
127+
<see selector="{{AdminCreateOrderWishListSection.wishListBlock}}" userInput="$$simpleProduct.name$$" stepKey="seeSimpleProductInWishList"/>
128+
<see selector="{{AdminCreateOrderWishListSection.wishListBlock}}" userInput="$$createConfigProduct.name$$" stepKey="seeConfigurableProductInWishList"/>
129+
130+
<!-- Add products to order from Wish List -->
131+
<waitForElementVisible selector="{{AdminCreateOrderWishListSection.addProductToOrderCheckBox($$simpleProduct.name$$)}}" stepKey="waitForCheckBoxToVisible"/>
132+
<click selector="{{AdminCreateOrderWishListSection.addProductToOrderCheckBox($$simpleProduct.name$$)}}" stepKey="selectProductToAddToOrder"/>
133+
<click selector="{{AdminCreateOrderWishListSection.addConfigProductToOrder($$createConfigProduct.name$$)}}" stepKey="AddConfigurableProductToOrder"/>
134+
<waitForElementVisible selector="{{AdminOrderFormConfigureProductSection.optionSelect($$createConfigProductAttribute.default_frontend_label$$)}}" stepKey="waitForConfigurablePopover"/>
135+
<selectOption selector="{{AdminOrderFormConfigureProductSection.optionSelect($$createConfigProductAttribute.default_frontend_label$$)}}" userInput="$$getConfigAttributeOption1.label$$" stepKey="selectConfigurableOption"/>
136+
<click selector="{{AdminOrderFormConfigureProductSection.ok}}" stepKey="clickOkButton"/>
137+
<click selector="{{AdminCustomerCreateNewOrderSection.updateChangesBtn}}" stepKey="clickOnUpdateButton"/>
138+
<waitForPageLoad stepKey="waitForAdminOrderItemsOrderedSectionPageLoad1"/>
139+
140+
<!-- Assert Products in Order item section -->
141+
<see selector="{{AdminOrderItemsOrderedSection.productName}}" userInput="$$simpleProduct.name$$" stepKey="seeSimpleProductInOrderItemGrid"/>
142+
<see selector="{{AdminOrderItemsOrderedSection.productName}}" userInput="$$createConfigProduct.name$$" stepKey="seeConfigProductInOrderItemGrid"/>
143+
144+
<!-- Move Products to the Shopping Cart -->
145+
<selectOption selector="{{AdminOrderFormItemsOrderedSection.moveProduct($$simpleProduct.name$$)}}" userInput="Move to Shopping Cart" stepKey="moveFirstSimpleProductToShoppingCart"/>
146+
<selectOption selector="{{AdminOrderFormItemsOrderedSection.moveProduct($$simpleProduct1.name$$)}}" userInput="Move to Shopping Cart" stepKey="moveSecondSimpleProductToShoppingCart"/>
147+
<click selector="{{OrdersGridSection.update}}" stepKey="clickOnUpdateItems"/>
148+
<waitForPageLoad stepKey="waitForAdminCreateOrderShoppingCartSectionPageLoad"/>
149+
150+
<!-- Assert products in Shopping cart section -->
151+
<see selector="{{AdminCreateOrderShoppingCartSection.shoppingCartBlock}}" userInput="$$simpleProduct.name$$" stepKey="seeProductInShoppingCart"/>
152+
<see selector="{{AdminCreateOrderShoppingCartSection.shoppingCartBlock}}" userInput="$$simpleProduct1.name$$" stepKey="seeSecondProductInShoppingCart"/>
153+
154+
<!-- Move products to the order from shopping cart -->
155+
<waitForElementVisible selector="{{AdminCreateOrderShoppingCartSection.addToOrderCheckBox($$simpleProduct.name$$)}}" stepKey="waitForAddToOrderCheckBox"/>
156+
<click selector="{{AdminCreateOrderShoppingCartSection.addToOrderCheckBox($$simpleProduct.name$$)}}" stepKey="selectFirstProduct"/>
157+
<click selector="{{AdminCreateOrderShoppingCartSection.addToOrderCheckBox($$simpleProduct1.name$$)}}" stepKey="selectSecondProduct"/>
158+
<click selector="{{AdminCustomerCreateNewOrderSection.updateChangesBtn}}" stepKey="clickOnUpdateButton1"/>
159+
<waitForPageLoad stepKey="waitForAdminCreateOrderShoppingCartSectionPageLoad1"/>
160+
161+
<!-- After move, assert products are not present in Shopping cart section -->
162+
<dontSee selector="{{AdminCreateOrderShoppingCartSection.shoppingCartBlock}}" userInput="$$simpleProduct.name$$" stepKey="donSeeProductInShoppingCart"/>
163+
<dontSee selector="{{AdminCreateOrderShoppingCartSection.shoppingCartBlock}}" userInput="$$simpleProduct1.name$$" stepKey="dontSeeSecondProductInShoppingCart"/>
164+
165+
<!-- After move, assert products are present in Wish List section -->
166+
<see selector="{{AdminCreateOrderWishListSection.wishListBlock}}" userInput="$$simpleProduct.name$$" stepKey="seeSimpleProductInWishList1"/>
167+
<see selector="{{AdminCreateOrderWishListSection.wishListBlock}}" userInput="$$createConfigProduct.name$$" stepKey="seeConfigurableProductInWishList1"/>
168+
169+
<!-- After move, assert products are present in order items section -->
170+
<see selector="{{AdminOrderItemsOrderedSection.productName}}" userInput="$$simpleProduct.name$$" stepKey="seeSimpleProductInOrderItemGrid1"/>
171+
<see selector="{{AdminOrderItemsOrderedSection.productName}}" userInput="$$createConfigProduct.name$$" stepKey="seeConfigProductInOrderItemGrid1"/>
172+
<see selector="{{AdminOrderItemsOrderedSection.productName}}" userInput="$$simpleProduct1.name$$" stepKey="seeSecondProductInOrderItemGrid1"/>
173+
174+
<!-- Select Free Shipping -->
175+
<waitForElementVisible selector="{{AdminInvoicePaymentShippingSection.getShippingMethodAndRates}}" stepKey="waitForShippingSection"/>
176+
<click selector="{{AdminInvoicePaymentShippingSection.getShippingMethodAndRates}}" stepKey="openShippingMethod"/>
177+
<waitForPageLoad stepKey="waitForShippingMethods"/>
178+
<click selector="{{AdminOrderFormPaymentSection.freeShippingOption}}" stepKey="chooseShippingMethod"/>
179+
<waitForPageLoad stepKey="waitForPageToLoad"/>
180+
181+
<!-- Submit order -->
182+
<click selector="{{AdminOrderFormActionSection.SubmitOrder}}" stepKey="submitOrder"/>
183+
<waitForPageLoad stepKey="waitForAdminOrderFormLoad"/>
184+
185+
<!-- Verify order information -->
186+
<actionGroup ref="verifyCreatedOrderInformation" stepKey="verifyCreatedOrderInformation"/>
187+
<grabTextFrom selector="|Order # (\d+)|" stepKey="orderId"/>
188+
189+
<!-- Filter and Open the customer edit page -->
190+
<actionGroup ref="AdminFilterCustomerByEmail" stepKey="filterTheCustomer1">
191+
<argument name="email" value="$$simpleCustomer.email$$"/>
192+
</actionGroup>
193+
<click selector="{{AdminCustomerGridSection.customerEditLinkByEmail($$simpleCustomer.email$$)}}" stepKey="clickOnEditButton1"/>
194+
<waitForPageLoad stepKey="waitForCustomerEditPageToLoad1"/>
195+
<click selector="{{AdminEditCustomerInformationSection.orders}}" stepKey="clickOnOrdersButton"/>
196+
<waitForPageLoad stepKey="waitForOrderPageToOpen"/>
197+
<click selector="{{AdminEditCustomerOrdersSection.orderIdInGrid('$orderId')}}" stepKey="selectOnOrderID"/>
198+
199+
<!-- Assert ordered product in customer order section-->
200+
<waitForPageLoad stepKey="waitForOrderInformationToLoad"/>
201+
<see selector="{{AdminOrderItemsOrderedSection.productNameColumn}}" userInput="$createConfigProduct.name$" stepKey="seeConfigurableProductInGrid"/>
202+
<see selector="{{AdminOrderItemsOrderedSection.productNameColumn}}" userInput="$simpleProduct.name$" stepKey="seeFirstProductInGrid"/>
203+
<see selector="{{AdminOrderItemsOrderedSection.productNameColumn}}" userInput="$simpleProduct1.name$" stepKey="seeSecondProductInGrid"/>
204+
<see selector="{{AdminOrderItemsOrderedSection.statusColumn}}" userInput="{{OrderStatus.ordered}}" stepKey="seeProductStatus"/>
205+
<see selector="{{AdminOrderItemsOrderedSection.subtotalColumn}}" userInput="$createConfigChildProduct1.price$" stepKey="seeConfigurableProductSubtotal"/>
206+
<see selector="{{AdminOrderItemsOrderedSection.subtotalColumn}}" userInput="$simpleProduct.price$" stepKey="seeFirstProductSubtotal"/>
207+
<see selector="{{AdminOrderItemsOrderedSection.subtotalColumn}}" userInput="$simpleProduct1.price$" stepKey="seeSecondProductSubtotal"/>
208+
<see selector="{{AdminOrderTotalSection.subTotal}}" userInput="{{AdminOrderMultipleProducts.subtotal}}" stepKey="checkSubtotal" />
209+
<see selector="{{AdminOrderTotalSection.shippingAndHandling}}" userInput="{{AdminOrderMultipleProducts.shipping}}" stepKey="checkShippingAndHandling" />
210+
<see selector="{{AdminOrderTotalSection.grandTotal}}" userInput="{{AdminOrderMultipleProducts.grandTotal}}" stepKey="checkGrandTotal" />
211+
</test>
212+
</tests>

dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderFromEditCustomerPageTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<item name="grandTotal" xsi:type="string">19.00</item>
2222
</data>
2323
<data name="issue" xsi:type="string">MAGETWO-65165: Unable to add product to wish list using 'create order' interface</data>
24+
<data name="tag" xsi:type="string">to_maintain:yes, mftf_migrated:yes</data>
2425
<constraint name="Magento\Sales\Test\Constraint\AssertOrderSuccessCreateMessage" />
2526
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
2627
<constraint name="Magento\Sales\Test\Constraint\AssertProductInCustomerShoppingCartOnBackendGrid" />

0 commit comments

Comments
 (0)