Skip to content

Commit d3d06f1

Browse files
MAGETWO-96411: [2.3.x] Default addresses not selected when checking out from cart
- Add automated test
1 parent 5f89b03 commit d3d06f1

File tree

5 files changed

+176
-0
lines changed

5 files changed

+176
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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="AdminAddProductToShoppingCartActionGroup">
12+
<arguments>
13+
<argument name="productName" type="string"/>
14+
</arguments>
15+
<waitForElementVisible selector="{{AdminCustomerShoppingCartProductItemSection.productItem}}" stepKey="waitForElementVisible"/>
16+
<click selector="{{AdminCustomerShoppingCartProductItemSection.productItem}}" stepKey="expandProductItem"/>
17+
<waitForElementVisible selector="{{AdminCustomerShoppingCartProductItemSection.productNameFilter}}" stepKey="waitForProductFilterFieldVisible"/>
18+
<fillField selector="{{AdminCustomerShoppingCartProductItemSection.productNameFilter}}" stepKey="setProductName" userInput="{{productName}}"/>
19+
<click selector="{{AdminCustomerShoppingCartProductItemSection.searchButton}}" stepKey="clickSearchButton"/>
20+
<waitForAjaxLoad stepKey="waitForAjax"/>
21+
<waitForElementVisible selector="{{AdminCustomerShoppingCartProductItemSection.firstProductCheckbox}}" stepKey="waitForElementCheckboxVisible"/>
22+
<click selector="{{AdminCustomerShoppingCartProductItemSection.firstProductCheckbox}}" stepKey="selectFirstCheckbox"/>
23+
<click selector="{{AdminCustomerShoppingCartProductItemSection.addSelectionsToMyCartButton}}" stepKey="clickAddSelectionsToMyCartButton" after="selectFirstCheckbox"/>
24+
<waitForAjaxLoad stepKey="waitForAjax2"/>
25+
<seeElement stepKey="seeAddedProduct" selector="{{AdminCustomerShoppingCartProductItemSection.addedProductName('productName')}}"/>
26+
</actionGroup>
27+
</actionGroups>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
<section name="AdminCustomerMainActionsSection">
1212
<element name="saveButton" type="button" selector="#save" timeout="30"/>
1313
<element name="resetPassword" type="button" selector="#resetPassword" timeout="30"/>
14+
<element name="manageShoppingCart" type="button" selector="#manage_quote" timeout="30"/>
1415
</section>
1516
</sections>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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="AdminCustomerShoppingCartSection">
12+
<element name="createOrderButton" type="button" selector="button[title='Create Order']"/>
13+
</section>
14+
15+
<section name="AdminCustomerShoppingCartProductItemSection">
16+
<element name="productItem" type="button" selector="#dt-products"/>
17+
<element name="productNameFilter" type="input" selector="#source_products_filter_name"/>
18+
<element name="searchButton" type="button" selector="//*[@id='anchor-content']//button[@title='Search']"/>
19+
<element name="firstProductCheckbox" type="checkbox" selector="//*[@id='source_products_table']/tbody/tr[1]//*[@name='source_products']"/>
20+
<element name="addSelectionsToMyCartButton" type="button" selector="//*[@id='products_search']/div[1]//*[text()='Add selections to my cart']"/>
21+
<element name="addedProductName" type="text" selector="//*[@id='order-items_grid']//*[text()='{{var}}']" parameterized="true"/>
22+
</section>
23+
</sections>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminOrderFormShippingAddressSection">
1212
<element name="SameAsBilling" type="checkbox" selector="#order-shipping_same_as_billing"/>
13+
<element name="SelectFromExistingCustomerAddress" type="select" selector="#order-shipping_address_customer_address_id"/>
1314
<element name="NamePrefix" type="input" selector="#order-shipping_address_prefix"/>
1415
<element name="FirstName" type="input" selector="#order-shipping_address_firstname"/>
1516
<element name="MiddleName" type="input" selector="#order-shipping_address_middlename"/>
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<?xml version="1.0"?>
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="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminDifferentBillingAndShippingAddressTest">
11+
<annotations>
12+
<features value="Sales"/>
13+
<title value="Check that Billing and Shipping addresses pre-selected for customer with existing order in the cart"/>
14+
<description value="Check Billing Address and Shipping Address"/>
15+
<severity value="MAJOR"/>
16+
<testCaseId value="MAGETWO-96725"/>
17+
<useCaseId value="MAGETWO-96411"/>
18+
<group value="sales"/>
19+
</annotations>
20+
<before>
21+
<createData entity="SimpleSubCategory" stepKey="createCategory"/>
22+
<createData entity="SimpleProduct" stepKey="createProduct">
23+
<requiredEntity createDataKey="createCategory"/>
24+
</createData>
25+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
26+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
27+
</before>
28+
<after>
29+
<!--Clear customer page filter-->
30+
<amOnPage url="{{AdminCustomerPage.url}}" stepKey="navigateToCustomers"/>
31+
<waitForPageLoad stepKey="waitForCustomerPageLoad"/>
32+
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearGridFilter"/>
33+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
34+
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>
35+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
36+
<actionGroup ref="logout" stepKey="logout"/>
37+
</after>
38+
39+
<actionGroup ref="OpenEditCustomerFromAdminActionGroup" stepKey="openCustomerEditPage">
40+
<argument name="customer" value="$$createCustomer$$" />
41+
</actionGroup>
42+
<click stepKey="goToAddresses" selector="{{NewCustomerPageSection.addresses}}"/>
43+
<waitForAjaxLoad stepKey="waitForAddresses" time="5"/>
44+
<!--Uncheck Default Shipping Address checkbox-->
45+
<click stepKey="thickShippingAddress" selector="{{NewCustomerPageSection.defaultShippingAddress}}"/>
46+
<waitForElementVisible selector="{{AdminCustomerMainActionsSection.saveButton}}" stepKey="waitForElement"/>
47+
<click selector="{{AdminCustomerMainActionsSection.saveButton}}" stepKey="clickSave"/>
48+
<conditionalClick selector="{{AdminCustomerMainActionsSection.saveButton}}"
49+
dependentSelector="{{AdminCustomerMainActionsSection.saveButton}}" visible="true" stepKey="clickSave2"/>
50+
<waitForElement selector="{{AdminCustomerMessagesSection.successMessage}}" stepKey="waitSuccessMessage"/>
51+
52+
<!--Create new order with existing customer-->
53+
<actionGroup ref="navigateToNewOrderPageExistingCustomer" stepKey="goToCreateOrderPage">
54+
<argument name="customer" value="$$createCustomer$$"/>
55+
</actionGroup>
56+
<!--Add product to order-->
57+
<actionGroup ref="addSimpleProductToOrder" stepKey="addProductToOrder">
58+
<argument name="product" value="$$createProduct$$"/>
59+
</actionGroup>
60+
61+
<!--Uncheck Same As Billing Address Checkbox-->
62+
<click selector="{{AdminOrderFormShippingAddressSection.SameAsBilling}}" stepKey="uncheckSameAsBillingAddressCheckbox"/>
63+
<waitForAjaxLoad stepKey="waitForAjax" after="uncheckSameAsBillingAddressCheckbox"/>
64+
<selectOption selector="{{AdminOrderFormShippingAddressSection.SelectFromExistingCustomerAddress}}"
65+
stepKey="selectAddNewCustomer" userInput="Add New Address" after="waitForAjax"/>
66+
<waitForAjaxLoad stepKey="waitForAjaxLoad" after="selectAddNewCustomer"/>
67+
68+
<!--Fill customer Shipping address information-->
69+
<fillField selector="{{AdminOrderFormShippingAddressSection.FirstName}}" userInput="{{UK_Not_Default_Address.firstname}}" stepKey="fillFirstName"/>
70+
<fillField selector="{{AdminOrderFormShippingAddressSection.LastName}}" userInput="{{UK_Not_Default_Address.lastname}}" stepKey="fillLastName" after="fillFirstName"/>
71+
<fillField selector="{{AdminOrderFormShippingAddressSection.StreetLine1}}" userInput="{{UK_Not_Default_Address.street[0]}}" stepKey="fillStreetLine1" after="fillLastName"/>
72+
<fillField selector="{{AdminOrderFormShippingAddressSection.City}}" userInput="{{UK_Not_Default_Address.city}}" stepKey="fillCity" after="fillStreetLine1"/>
73+
<selectOption selector="{{AdminOrderFormShippingAddressSection.Country}}" userInput="United Kingdom" stepKey="fillCountry" after="fillCity"/>
74+
<fillField selector="{{AdminOrderFormShippingAddressSection.Province}}" userInput="London" stepKey="fillProvince" after="fillCountry"/>
75+
<fillField selector="{{AdminOrderFormShippingAddressSection.PostalCode}}" userInput="{{UK_Not_Default_Address.postcode}}" stepKey="fillPostalCode" after="fillProvince"/>
76+
<fillField selector="{{AdminOrderFormShippingAddressSection.Phone}}" userInput="{{UK_Not_Default_Address.telephone}}" stepKey="fillPhoneNumber" after="fillPostalCode"/>
77+
78+
<click stepKey="checkSaveBillingAddressCheckbox" selector="{{AdminOrderFormBillingAddressSection.SaveAddress}}" after="fillPhoneNumber"/>
79+
<click stepKey="checkSaveShippingAddressCheckbox" selector="{{AdminOrderFormShippingAddressSection.SaveAddress}}" after="checkSaveBillingAddressCheckbox"/>
80+
81+
<!-- Select shipping -->
82+
<actionGroup ref="orderSelectFlatRateShipping" stepKey="selectFlatRateShipping" after="checkSaveShippingAddressCheckbox"/>
83+
84+
<!--Submit Order and verify that Order created successfully-->
85+
<click selector="{{AdminOrderFormActionSection.SubmitOrder}}" stepKey="clickSubmitOrder"/>
86+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear"/>
87+
<waitForPageLoad stepKey="waitForOrderToProcess"/>
88+
<seeElement selector="{{AdminMessagesSection.successMessage}}" stepKey="seeSuccessMessage"/>
89+
90+
<!--Open customer for edit-->
91+
<actionGroup ref="OpenEditCustomerFromAdminActionGroup" stepKey="openCustomerEdit">
92+
<argument name="customer" value="$$createCustomer$$" />
93+
</actionGroup>
94+
95+
<!--Click on *Manage Shopping Cart*-->
96+
<click selector="{{AdminCustomerMainActionsSection.manageShoppingCart}}" stepKey="clickManageShoppingCartButton"/>
97+
<waitForPageLoad stepKey="waitForPageLoaded"/>
98+
99+
<!--Add Product To Shopping Cart-->
100+
<actionGroup ref="AdminAddProductToShoppingCartActionGroup" stepKey="addProductToShoppingCart">
101+
<argument name="productName" value="$$createProduct.name$$" />
102+
</actionGroup>
103+
104+
<!--Click on *Create Order*-->
105+
<waitForElementVisible selector="{{AdminCustomerShoppingCartSection.createOrderButton}}" stepKey="waitToShoppingCartPageOpened"/>
106+
<click selector="{{AdminCustomerShoppingCartSection.createOrderButton}}" stepKey="clickCreateOrderButton"/>
107+
<waitForPageLoad stepKey="waitForPageLoad"/>
108+
109+
<!--Check Billing Address and Shipping Address should be pre-selected/fill out-->
110+
<waitForElementVisible stepKey="waitElementsBecomeVisible" selector="{{AdminOrderFormShippingAddressSection.FirstName}}"/>
111+
<scrollTo selector="{{AdminOrderFormShippingAddressSection.FirstName}}" stepKey="scrollToMiddleOfPage"/>
112+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.FirstName}}" stepKey="grabTextShippingFirstNameValue"/>
113+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.LastName}}" stepKey="grabTextShippingLastNameValue"/>
114+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.StreetLine1}}" stepKey="grabShippingStreetLineValue"/>
115+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.City}}" stepKey="grabShippingCityValue"/>
116+
<grabValueFrom selector="{{AdminOrderFormBillingAddressSection.Country}}" stepKey="grabBillingCountryValue"/>
117+
118+
<assertNotEmpty actual="$grabTextShippingFirstNameValue" stepKey="assertTextShippingFirstNameIsNotEmpty" after="grabTextShippingFirstNameValue"/>
119+
<assertNotEmpty actual="$grabTextShippingLastNameValue" stepKey="assertTextShippingLastNameIsNotEmpty" after="grabTextShippingLastNameValue"/>
120+
<assertNotEmpty actual="$grabShippingStreetLineValue" stepKey="assertShippingStreetLineIsNotEmpty" after="grabShippingStreetLineValue"/>
121+
<assertNotEmpty actual="$grabShippingCityValue" stepKey="assertShippingCityIsNotEmpty" after="grabShippingCityValue"/>
122+
<assertNotEmpty actual="$grabBillingCountryValue" stepKey="assertBillingCountryIsNotEmpty" after="grabBillingCountryValue"/>
123+
</test>
124+
</tests>

0 commit comments

Comments
 (0)