Skip to content

Commit ba45518

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-73883' into 2.2-develop-pr46
2 parents 81e9c52 + 4e553d4 commit ba45518

File tree

10 files changed

+216
-0
lines changed

10 files changed

+216
-0
lines changed

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,32 @@
3434
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
3535
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
3636
</entity>
37+
<entity name="ApiSimpleOne" type="product2">
38+
<data key="sku" unique="suffix">api-simple-product</data>
39+
<data key="type_id">simple</data>
40+
<data key="attribute_set_id">4</data>
41+
<data key="visibility">4</data>
42+
<data key="name" unique="suffix">Api Simple Product</data>
43+
<data key="price">123.00</data>
44+
<data key="urlKey" unique="suffix">api-simple-product</data>
45+
<data key="status">1</data>
46+
<data key="quantity">100</data>
47+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
48+
<requiredEntity type="custom_attribute">CustomAttributeProductAttribute</requiredEntity>
49+
</entity>
50+
<entity name="ApiSimpleTwo" type="product2">
51+
<data key="sku" unique="suffix">api-simple-product-two</data>
52+
<data key="type_id">simple</data>
53+
<data key="attribute_set_id">4</data>
54+
<data key="visibility">4</data>
55+
<data key="name" unique="suffix">Api Simple Product Two</data>
56+
<data key="price">234.00</data>
57+
<data key="urlKey" unique="suffix">api-simple-product-two</data>
58+
<data key="status">1</data>
59+
<data key="quantity">100</data>
60+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
61+
<requiredEntity type="custom_attribute">CustomAttributeProductAttribute</requiredEntity>
62+
</entity>
3763
<entity name="ApiSimpleProductUpdateDescription" type="product2">
3864
<requiredEntity type="custom_attribute">ApiProductDescription</requiredEntity>
3965
<requiredEntity type="custom_attribute">ApiProductShortDescription</requiredEntity>

app/code/Magento/Sales/Test/Mftf/ActionGroup/AdminOrderActionGroup.xml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,23 @@
5656
<see selector="{{AdminOrderFormBillingAddressSection.phoneError}}" userInput="This is a required field." stepKey="seePhoneRequired"/>
5757
<see selector="{{AdminOrderFormPaymentSection.shippingError}}" userInput="This is a required field." stepKey="seeShippingMethodRequired"/>
5858
</actionGroup>
59+
<!--Navigate to create order page (New Order -> Select Customer)-->
60+
<actionGroup name="navigateToNewOrderPageExistingCustomer">
61+
<arguments>
62+
<argument name="customer"/>
63+
</arguments>
64+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="navigateToOrderIndexPage"/>
65+
<waitForPageLoad stepKey="waitForIndexPageLoad"/>
66+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="Orders" stepKey="seeIndexPageTitle"/>
67+
<click selector="{{AdminOrdersGridSection.createNewOrder}}" stepKey="clickCreateNewOrder"/>
68+
<waitForPageLoad stepKey="waitForCustomerGridLoad"/>
69+
<fillField userInput="{{customer.email}}" selector="{{AdminOrderCustomersGridSection.emailFilter}}" stepKey="filterEmail"/>
70+
<click selector="{{AdminOrderCustomersGridSection.searchButton}}" stepKey="applyFilter"/>
71+
<waitForPageLoad stepKey="waitForFilteredCustomerGridLoad"/>
72+
<click selector="{{AdminOrderCustomersGridSection.firstRow}}" stepKey="clickOnCustomer"/>
73+
<waitForPageLoad stepKey="waitForCreateOrderPageLoad" />
74+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="Create New Order" stepKey="seeNewOrderPageTitle"/>
75+
</actionGroup>
5976
<!--Add a simple product to order-->
6077
<actionGroup name="addSimpleProductToOrder">
6178
<arguments>
@@ -70,6 +87,41 @@
7087
<scrollTo selector="{{AdminOrderFormItemsSection.addSelected}}" x="0" y="-100" stepKey="scrollToAddSelectedButton"/>
7188
<click selector="{{AdminOrderFormItemsSection.addSelected}}" stepKey="clickAddSelectedProducts"/>
7289
</actionGroup>
90+
<!--Add configurable product to order from Admin -->
91+
<actionGroup name="addConfigurableProductToOrderFromAdmin">
92+
<arguments>
93+
<argument name="product"/>
94+
<argument name="attribute"/>
95+
<argument name="option"/>
96+
</arguments>
97+
<click selector="{{AdminOrderFormItemsSection.addProducts}}" stepKey="clickAddProducts"/>
98+
<fillField selector="{{AdminOrderFormItemsSection.skuFilter}}" userInput="{{product.sku}}" stepKey="fillSkuFilterConfigurable"/>
99+
<click selector="{{AdminOrderFormItemsSection.search}}" stepKey="clickSearchConfigurable"/>
100+
<scrollTo selector="{{AdminOrderFormItemsSection.rowCheck('1')}}" x="0" y="-100" stepKey="scrollToCheckColumn"/>
101+
<checkOption selector="{{AdminOrderFormItemsSection.rowCheck('1')}}" stepKey="selectConfigurableProduct"/>
102+
<waitForElementVisible selector="{{AdminOrderFormConfigureProductSection.optionSelect(attribute.default_frontend_label)}}" stepKey="waitForConfigurablePopover"/>
103+
<wait time="2" stepKey="waitForOptionsToLoad"/>
104+
<selectOption selector="{{AdminOrderFormConfigureProductSection.optionSelect(attribute.default_frontend_label)}}"
105+
userInput="{{option.label}}" stepKey="selectionConfigurableOption"/>
106+
<click selector="{{AdminOrderFormConfigureProductSection.ok}}" stepKey="clickOkConfigurablePopover"/>
107+
<scrollTo selector="{{AdminOrderFormItemsSection.addSelected}}" x="0" y="-100" stepKey="scrollToAddSelectedButton"/>
108+
<click selector="{{AdminOrderFormItemsSection.addSelected}}" stepKey="clickAddSelectedProducts"/>
109+
</actionGroup>
110+
<!-- Change product configurations which was added to order -->
111+
<actionGroup name="configureOrderedConfigurableProduct">
112+
<arguments>
113+
<argument name="attribute"/>
114+
<argument name="option"/>
115+
<argument name="quantity" type="string"/>
116+
</arguments>
117+
<click selector="{{AdminOrderFormItemsSection.configure}}" stepKey="clickConfigure"/>
118+
<waitForElementVisible selector="{{AdminOrderFormConfigureProductSection.optionSelect(attribute.default_frontend_label)}}" stepKey="waitForConfigurablePopover"/>
119+
<wait time="2" stepKey="waitForOptionsToLoad"/>
120+
<selectOption selector="{{AdminOrderFormConfigureProductSection.optionSelect(attribute.default_frontend_label)}}"
121+
userInput="{{option.label}}" stepKey="selectionConfigurableOption"/>
122+
<fillField selector="{{AdminOrderFormConfigureProductSection.quantity}}" userInput="{{quantity}}" stepKey="fillQuantity"/>
123+
<click selector="{{AdminOrderFormConfigureProductSection.ok}}" stepKey="clickOkConfigurablePopover"/>
124+
</actionGroup>
73125
<!--Fill customer billing address-->
74126
<actionGroup name="fillOrderCustomerInformation">
75127
<arguments>
@@ -105,6 +157,13 @@
105157
<click selector="{{AdminOrderCustomersGridSection.customerRowByEmail(customer.email)}}" stepKey="chooseCustomer"/>
106158
<waitForPageLoad stepKey="waitForOrderPageLoad"/>
107159
</actionGroup>
160+
<!--Verify order information-->
161+
<actionGroup name="verifyCreatedOrderInformation">
162+
<see selector="{{AdminMessagesSection.success}}" userInput="You created the order." stepKey="seeSuccessMessage"/>
163+
<see selector="{{AdminOrderDetailsInformationSection.orderStatus}}" userInput="Pending" after="seeSuccessMessage" stepKey="seeOrderPendingStatus"/>
164+
<grabTextFrom selector="{{AdminOrderDetailsInformationSection.orderId}}" before="seeOrderPendingStatus" stepKey="getOrderId"/>
165+
<assertNotEmpty actual="$getOrderId" before="getOrderId" stepKey="assertOrderIdIsNotEmpty"/>
166+
</actionGroup>
108167

109168
<!--Check that customer information is correct in order-->
110169
<actionGroup name="verifyBasicOrderInformation">

app/code/Magento/Sales/Test/Mftf/Page/AdminOrderCreatePage.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
<section name="AdminOrderFormItemsSection"/>
1717
<section name="AdminOrderFormTotalSection"/>
1818
<section name="AdminOrderCustomersGridSection"/>
19+
<section name="AdminOrderFormConfigureProductSection"/>
1920
</page>
2021
</pages>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
<element name="resetButton" type="button" selector="#sales_order_create_customer_grid [data-action='grid-filter-reset']"/>
1515
<element name="searchButton" type="button" selector="#sales_order_create_customer_grid [data-action='grid-filter-apply']"/>
1616
<element name="emailFilter" type="input" selector="#sales_order_create_customer_grid_filter_email"/>
17+
<element name="firstRow" type="button" selector="tr:nth-of-type(1)[data-role='row']"/>
1718
</section>
1819
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<section name="AdminOrderDetailsInformationSection">
1212
<element name="orderDate" type="text" selector=".order-information table.order-information-table tr:first-of-type > td"/>
1313
<element name="orderStatus" type="text" selector=".order-information table.order-information-table #order_status"/>
14+
<element name="orderId" type="text" selector="|Order # (\d+)|"/>
1415
<element name="purchasedFrom" type="text" selector=".order-information table.order-information-table tr:last-of-type > td"/>
1516
<element name="accountInformation" type="text" selector=".order-account-information-table"/>
1617
<element name="customerName" type="text" selector=".order-account-information table tr:first-of-type > td span"/>
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="AdminOrderFormConfigureProductSection">
12+
<element name="optionSelect" type="select" selector="//div[@class='product-options']/div/div/select[../../label[text() = '{{option}}']]" parameterized="true"/>
13+
<element name="quantity" type="input" selector="#product_composite_configure_input_qty"/>
14+
<element name="ok" type="button" selector=".modal-header .page-actions button[data-role='action']" timeout="30"/>
15+
</section>
16+
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@
1515
<element name="rowCheck" type="checkbox" selector="#sales_order_create_search_grid_table > tbody tr:nth-of-type({{row}}) td.col-select [type=checkbox]" parameterized="true"/>
1616
<element name="rowQty" type="input" selector="#sales_order_create_search_grid_table > tbody tr:nth-of-type({{row}}) td.col-qty [name='qty']" parameterized="true"/>
1717
<element name="addSelected" type="button" selector="#order-search .admin__page-section-title .actions button.action-add" timeout="30"/>
18+
<element name="configure" type="button" selector=".product-configure-block button.action-default.scalable" timeout="30"/>
1819
</section>
1920
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
<element name="search" type="input" selector="#fulltext"/>
1313
<element name="submitSearch" type="button" selector=".//*[@id='container']/div/div[2]/div[1]/div[2]/button"/>
1414
<element name="firstRow" type="button" selector="tr.data-row:nth-of-type(1)"/>
15+
<element name="createNewOrder" type="button" selector=".page-actions-buttons button#add" timeout="30"/>
1516
</section>
1617
</sections>
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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="AdminSubmitConfigurableProductOrderTest">
11+
<annotations>
12+
<title value="Create Order in Admin and update product configuration"/>
13+
<stories value="MAGETWO-73883: Create Sales > Order from admin add configurable product and change options click OK does not update Items Ordered List"/>
14+
<description value="Create Order in Admin and update product configuration"/>
15+
<features value="Sales"/>
16+
<severity value="AVERAGE"/>
17+
<testCaseId value="MAGETWO-77679"/>
18+
<group value="Sales"/>
19+
</annotations>
20+
<before>
21+
<!--Set default flat rate shipping method settings-->
22+
<createData entity="FlatRateShippingMethodDefault" stepKey="setDefaultFlatRateShippingMethod"/>
23+
<!--Create simple customer-->
24+
<createData entity="Simple_US_CA_Customer" stepKey="createSimpleCustomer"/>
25+
<!-- Create the category -->
26+
<createData entity="ApiCategory" stepKey="createCategory"/>
27+
<!-- Create the configurable product and add it to the category -->
28+
<createData entity="ApiConfigurableProduct" stepKey="createConfigProduct">
29+
<requiredEntity createDataKey="createCategory"/>
30+
</createData>
31+
<!-- Create an attribute with two options to be used in the first child product -->
32+
<createData entity="productAttributeWithDropdownTwoOptions" stepKey="createConfigProductAttribute"/>
33+
<createData entity="productAttributeOption1" stepKey="createConfigProductAttributeOption1">
34+
<requiredEntity createDataKey="createConfigProductAttribute"/>
35+
</createData>
36+
<createData entity="productAttributeOption2" stepKey="createConfigProductAttributeOption2">
37+
<requiredEntity createDataKey="createConfigProductAttribute"/>
38+
</createData>
39+
<!-- Add the attribute we just created to default attribute set -->
40+
<createData entity="AddToDefaultSet" stepKey="createConfigAddToAttributeSet">
41+
<requiredEntity createDataKey="createConfigProductAttribute"/>
42+
</createData>
43+
<!-- Get the option of the attribute we created -->
44+
<getData entity="ProductAttributeOptionGetter" index="1" stepKey="getConfigAttributeOption1">
45+
<requiredEntity createDataKey="createConfigProductAttribute"/>
46+
</getData>
47+
<getData entity="ProductAttributeOptionGetter" index="2" stepKey="getConfigAttributeOption2">
48+
<requiredEntity createDataKey="createConfigProductAttribute"/>
49+
</getData>
50+
<!-- Create a simple product and give it the attribute with option -->
51+
<createData entity="ApiSimpleOne" stepKey="createConfigChildProduct1">
52+
<requiredEntity createDataKey="createConfigProductAttribute"/>
53+
<requiredEntity createDataKey="getConfigAttributeOption1"/>
54+
</createData>
55+
<createData entity="ApiSimpleTwo" stepKey="createConfigChildProduct2">
56+
<requiredEntity createDataKey="createConfigProductAttribute"/>
57+
<requiredEntity createDataKey="getConfigAttributeOption2"/>
58+
</createData>
59+
<!-- Create the configurable product -->
60+
<createData entity="ConfigurableProductTwoOptions" stepKey="createConfigProductOption">
61+
<requiredEntity createDataKey="createConfigProduct"/>
62+
<requiredEntity createDataKey="createConfigProductAttribute"/>
63+
<requiredEntity createDataKey="getConfigAttributeOption1"/>
64+
<requiredEntity createDataKey="getConfigAttributeOption2"/>
65+
</createData>
66+
<!-- Add simple product to the configurable product -->
67+
<createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild1">
68+
<requiredEntity createDataKey="createConfigProduct"/>
69+
<requiredEntity createDataKey="createConfigChildProduct1"/>
70+
</createData>
71+
<createData entity="ConfigurableProductAddChild" stepKey="createConfigProductAddChild2">
72+
<requiredEntity createDataKey="createConfigProduct"/>
73+
<requiredEntity createDataKey="createConfigChildProduct2"/>
74+
</createData>
75+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
76+
</before>
77+
<!--Create new customer order-->
78+
<actionGroup ref="navigateToNewOrderPageExistingCustomer" stepKey="navigateToNewOrderWithExistingCustomer">
79+
<argument name="customer" value="$$createSimpleCustomer$$"/>
80+
</actionGroup>
81+
<!--Add configurable product to order-->
82+
<actionGroup ref="addConfigurableProductToOrderFromAdmin" stepKey="addConfigurableProductToOrder">
83+
<argument name="product" value="$$createConfigProduct$$"/>
84+
<argument name="attribute" value="$$createConfigProductAttribute$$"/>
85+
<argument name="option" value="$$getConfigAttributeOption1$$"/>
86+
</actionGroup>
87+
<!--Configure ordered configurable product-->
88+
<actionGroup ref="configureOrderedConfigurableProduct" stepKey="configureOrderedConfigurableProduct">
89+
<argument name="attribute" value="$$createConfigProductAttribute$$"/>
90+
<argument name="option" value="$$getConfigAttributeOption2$$"/>
91+
<argument name="quantity" value="2"/>
92+
</actionGroup>
93+
<!--Select FlatRate shipping method-->
94+
<actionGroup ref="orderSelectFlatRateShipping" stepKey="orderSelectFlatRateShippingMethod"/>
95+
<!--Submit order-->
96+
<click selector="{{AdminOrderFormActionSection.submitOrder}}" stepKey="submitOrder"/>
97+
<!--Verify order information-->
98+
<actionGroup ref="verifyCreatedOrderInformation" stepKey="verifyCreatedOrderInformation"/>
99+
<after>
100+
<actionGroup ref="logout" stepKey="logout"/>
101+
<deleteData createDataKey="createSimpleCustomer" stepKey="deleteSimpleCustomer"/>
102+
<deleteData createDataKey="createConfigProduct" stepKey="deleteConfigProduct"/>
103+
<deleteData createDataKey="createConfigChildProduct1" stepKey="deleteConfigChildProduct1"/>
104+
<deleteData createDataKey="createConfigChildProduct2" stepKey="deleteConfigChildProduct2"/>
105+
<deleteData createDataKey="createConfigProductAttribute" stepKey="deleteConfigProductAttribute"/>
106+
<deleteData createDataKey="createCategory" stepKey="deleteApiCategory"/>
107+
</after>
108+
</test>
109+
</tests>

app/code/Magento/Sales/view/adminhtml/web/order/create/scripts.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -921,6 +921,7 @@ define([
921921
qtyElement.value = confirmedCurrentQty.value;
922922
}
923923
this.productConfigureAddFields['item['+itemId+'][configured]'] = 1;
924+
this.itemsUpdate();
924925

925926
}.bind(this));
926927
productConfigure.setShowWindowCallback(listType, function() {

0 commit comments

Comments
 (0)