Skip to content

Commit 52ea54c

Browse files
committed
ACQE-4834 : Verify Multi shipping with creation new customer and addresses during checkout
1 parent e6e2dc3 commit 52ea54c

File tree

6 files changed

+220
-0
lines changed

6 files changed

+220
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
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="EnterAddressDetailsActionGroup" extends="EnterCustomerAddressInfoActionGroup">
11+
<annotations>
12+
<description>Removed specific page. Fills in the required details </description>
13+
</annotations>
14+
15+
<remove keyForRemoval="goToAddressPage"/>
16+
<remove keyForRemoval="saveAddress"/>
17+
</actionGroup>
18+
</actionGroups>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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="FillNewCustomerAddressFieldsActionGroup" extends="FillNewCustomerAddressRequiredFieldsActionGroup">
12+
<annotations>
13+
<description>Select country before select state </description>
14+
</annotations>
15+
<arguments>
16+
<argument name="address" type="entity"/>
17+
</arguments>
18+
19+
<remove keyForRemoval="selectCountry"/>
20+
<selectOption selector="{{StorefrontCustomerAddressFormSection.country}}" userInput="{{address.country}}" stepKey="selectCountryField" after="fillStreetAddress"/>
21+
</actionGroup>
22+
</actionGroups>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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="StorefrontFillCustomerCreateAnAccountActionGroup" extends="StorefrontFillCustomerAccountCreationFormActionGroup">
12+
<annotations>
13+
<description>Fills in the provided Customer details on the Storefront Customer creation page.</description>
14+
</annotations>
15+
16+
<remove keyForRemoval="fillFirstName"/>
17+
<remove keyForRemoval="fillLastName"/>
18+
</actionGroup>
19+
</actionGroups>

app/code/Magento/Multishipping/Test/Mftf/Section/MultishippingSection/MultishippingSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@
1818
<element name="productLink" type="button" selector="(//form[@id='checkout_multishipping_form']//a[contains(text(),'{{productName}}')])[{{sequenceNumber}}]" parameterized="true"/>
1919
<element name="removeItemButton" type="button" selector="//a[contains(@title, 'Remove Item')][{{var}}]" parameterized="true"/>
2020
<element name="back" type="button" selector=".action.back"/>
21+
<element name="enterNewAddress" type="button" selector=".action.add"/>
2122
</section>
2223
</sections>

app/code/Magento/Multishipping/Test/Mftf/Section/ShippingMethodSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
<element name="shippingMethodRadioButton" type="select" selector="//input[@class='radio']"/>
1313
<element name="selectShippingMethod" type="radio" selector="//div[@class='block block-shipping'][position()={{shippingBlockPosition}}]//dd[position()={{shippingMethodPosition}}]//input[@class='radio']" parameterized="true" timeout="5"/>
1414
<element name="goToBillingInfo" type="button" selector=".action.primary.continue"/>
15+
<element name="productDetails" type="text" selector="//a[text()='{{var1}}']/../../..//td[@class='col qty' and text()='{{var2}}']" parameterized="true"/>
1516
</section>
1617
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="MultiShippingWithCreationNewCustomerAndAddressesDuringCheckoutTest">
11+
<annotations>
12+
<stories value="Multi shipping with creation new customer and addresses during checkout"/>
13+
<title value="Verify Multi shipping with creation new customer and addresses during checkout"/>
14+
<description value="Verify Multi shipping with creation new customer and addresses during checkout"/>
15+
<severity value="MAJOR"/>
16+
<testCaseId value="AC-4685" />
17+
</annotations>
18+
<before>
19+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginToAdminArea"/>
20+
<createData entity="SimpleSubCategory" stepKey="createCategory"/>
21+
<createData entity="SimpleProduct" stepKey="createSimpleProduct">
22+
<requiredEntity createDataKey="createCategory"/>
23+
<field key="name">simple product</field>
24+
</createData>
25+
<!-- Create configurable product -->
26+
<createData entity="ApiConfigurableProduct" stepKey="createConfigProduct">
27+
<requiredEntity createDataKey="createCategory"/>
28+
<field key="name">config product</field>
29+
</createData>
30+
<!-- Search for the Created Configurable Product -->
31+
<actionGroup ref="AdminProductPageOpenByIdActionGroup" stepKey="openConfigurableProductEditPage">
32+
<argument name="productId" value="$createConfigProduct.id$"/>
33+
</actionGroup>
34+
<click selector="{{AdminProductFormConfigurationsSection.createConfigurations}}" stepKey="clickOnCreateConfigurations"/>
35+
<waitForPageLoad stepKey="waitForSelectAttributesPage"/>
36+
<actionGroup ref="AdminSelectAttributeInConfigurableAttributesGrid" stepKey="selectColorAttribute">
37+
<argument name="attributeCode" value="color"/>
38+
</actionGroup>
39+
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton"/>
40+
<waitForElementVisible selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="waitCreateNewValueAppears"/>
41+
<click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateNewValue1"/>
42+
<fillField userInput="Red" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewAttribute1"/>
43+
<click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute1"/>
44+
<click selector="{{AdminCreateProductConfigurationsPanel.createNewValue}}" stepKey="clickOnCreateNewValue2"/>
45+
<fillField userInput="Green" selector="{{AdminCreateProductConfigurationsPanel.attributeName}}" stepKey="fillFieldForNewAttribute2"/>
46+
<click selector="{{AdminCreateProductConfigurationsPanel.saveAttribute}}" stepKey="clickOnSaveNewAttribute2"/>
47+
<click selector="{{AdminCreateProductConfigurationsPanel.selectAll}}" stepKey="clickOnSelectAll"/>
48+
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextButton2"/>
49+
<click selector="{{AdminCreateProductConfigurationsPanel.applySinglePriceToAllSkus}}" stepKey="clickOnApplySinglePriceToAllSkus"/>
50+
<fillField selector="{{AdminCreateProductConfigurationsPanel.singlePrice}}" userInput="10" stepKey="enterAttributePrice"/>
51+
<click selector="{{AdminCreateProductConfigurationsPanel.applySingleQuantityToEachSkus}}" stepKey="clickOnApplySingleQuantityToEachSku"/>
52+
<fillField selector="{{AdminCreateProductConfigurationsPanel.quantity}}" userInput="100" stepKey="enterAttributeQuantity"/>
53+
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="clickOnNextStep3"/>
54+
<waitForElementVisible selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="waitForNextPageOpened"/>
55+
<click selector="{{AdminCreateProductConfigurationsPanel.next}}" stepKey="generateProducts"/>
56+
<waitForElementVisible selector="{{AdminProductFormActionSection.saveButton}}" stepKey="waitForSaveButtonVisible"/>
57+
<actionGroup ref="AdminProductFormSaveActionGroup" stepKey="saveProduct"/>
58+
<conditionalClick selector="{{AdminChooseAffectedAttributeSetPopup.confirm}}" dependentSelector="{{AdminChooseAffectedAttributeSetPopup.confirm}}" visible="true" stepKey="clickOnConfirmInPopup"/>
59+
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="seeSaveProductMessage"/>
60+
</before>
61+
<after>
62+
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="visitAdminProductPage"/>
63+
<actionGroup ref="ClearFiltersAdminProductGridActionGroup" stepKey="clearGridFilters"/>
64+
<actionGroup ref="AdminDeleteAllProductsFromGridActionGroup" stepKey="deleteAllProducts"/>
65+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
66+
<!-- Delete customer -->
67+
<actionGroup ref="DeleteCustomerByEmailActionGroup" stepKey="deleteCustomer">
68+
<argument name="email" value="{{CustomerEntityOne.email}}"/>
69+
</actionGroup>
70+
<actionGroup ref="AdminDeleteCreatedColorAttributeActionGroup" stepKey="deleteRedColorAttribute">
71+
<argument name="Color" value="Red"/>
72+
</actionGroup>
73+
<actionGroup ref="AdminDeleteCreatedColorAttributeActionGroup" stepKey="deleteBlueColorAttribute">
74+
<argument name="Color" value="Green"/>
75+
</actionGroup>
76+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutOfAdmin"/>
77+
</after>
78+
<actionGroup ref="StorefrontNavigateToCategoryUrlActionGroup" stepKey="openCategoryPage">
79+
<argument name="categoryUrl" value="$$createCategory.custom_attributes[url_key]$$"/>
80+
</actionGroup>
81+
<waitForPageLoad stepKey="waitForProductPage"/>
82+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProductToCart">
83+
<argument name="product" value="$createSimpleProduct$"/>
84+
</actionGroup>
85+
<!-- Add configurable product to the cart -->
86+
<actionGroup ref="StorefrontAddConfigurableProductToTheCartActionGroup" stepKey="addConfigurableProductToCart1">
87+
<argument name="urlKey" value="$$createConfigProduct.custom_attributes[url_key]$$" />
88+
<argument name="productAttribute" value="Color"/>
89+
<argument name="productOption" value="Red"/>
90+
<argument name="qty" value="1"/>
91+
</actionGroup>
92+
<actionGroup ref="StorefrontAddConfigurableProductToTheCartActionGroup" stepKey="addConfigurableProductToCart2">
93+
<argument name="urlKey" value="$$createConfigProduct.custom_attributes[url_key]$$" />
94+
<argument name="productAttribute" value="Color"/>
95+
<argument name="productOption" value="Green"/>
96+
<argument name="qty" value="1"/>
97+
</actionGroup>
98+
<!-- Check Out with Multiple Addresses -->
99+
<actionGroup ref="StorefrontOpenCartFromMinicartActionGroup" stepKey="openCart"/>
100+
<waitForElementVisible selector="{{MultishippingSection.shippingMultipleCheckout}}" stepKey="waitMultipleAddressShippingButton"/>
101+
<click selector="{{MultishippingSection.shippingMultipleCheckout}}" stepKey="clickToMultipleAddressShippingButton"/>
102+
<!--Create an account-->
103+
<waitForElementVisible selector="{{AdminCreateUserSection.createAnAccountButtonForCustomer}}" stepKey="waitCreateAnAccountButton"/>
104+
<click selector="{{AdminCreateUserSection.createAnAccountButtonForCustomer}}" stepKey="clickOnCreateAnAccountButton"/>
105+
<waitForPageLoad stepKey="waitForCreateAccountPageToLoad"/>
106+
<actionGroup ref="EnterAddressDetailsActionGroup" stepKey="enterAddressInfo">
107+
<argument name="Address" value="US_Address_CA"/>
108+
</actionGroup>
109+
<actionGroup ref="StorefrontFillCustomerCreateAnAccountActionGroup" stepKey="fillDetails">
110+
<argument name="customer" value="CustomerEntityOne"/>
111+
</actionGroup>
112+
<actionGroup ref="StorefrontClickCreateAnAccountCustomerAccountCreationFormActionGroup" stepKey="submitCreateAccountForm"/>
113+
<click selector="{{MultishippingSection.enterNewAddress}}" stepKey="clickOnAddress"/>
114+
<waitForPageLoad stepKey="waitForAddressFieldsPageOpen"/>
115+
<actionGroup ref="FillNewCustomerAddressFieldsActionGroup" stepKey="editAddressFields">
116+
<argument name="address" value="DE_Address_Berlin_Not_Default_Address"/>
117+
<argument name="address" value="DE_Address_Berlin_Not_Default_Address"/>
118+
</actionGroup>
119+
<actionGroup ref="StorefrontSaveCustomerAddressActionGroup" stepKey="saveAddress"/>
120+
<waitForPageLoad stepKey="waitForShippingPageToOpen"/>
121+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectCAAddress">
122+
<argument name="sequenceNumber" value="1"/>
123+
<argument name="option" value="John Doe, 7700 West Parmer Lane 113, Los Angeles, California 90001, United States"/>
124+
</actionGroup>
125+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectCAAddressForSecondProduct">
126+
<argument name="sequenceNumber" value="2"/>
127+
<argument name="option" value="John Doe, 7700 West Parmer Lane 113, Los Angeles, California 90001, United States"/>
128+
</actionGroup>
129+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectGEAddress">
130+
<argument name="sequenceNumber" value="3"/>
131+
<argument name="option" value="John Doe, Augsburger Strabe 41, Berlin, Berlin 10789, Germany"/>
132+
</actionGroup>
133+
<actionGroup ref="StorefrontChangeMultishippingItemQtyActionGroup" stepKey="setProductQuantity">
134+
<argument name="sequenceNumber" value="3"/>
135+
<argument name="quantity" value="10"/>
136+
</actionGroup>
137+
<actionGroup ref="StorefrontSaveAddressActionGroup" stepKey="saveAddresses"/>
138+
<waitForPageLoad stepKey="waitForPageToLoadProperly"/>
139+
<seeElement selector="{{ShippingMethodSection.productDetails('simple product','1')}}" stepKey="assertSimpleProductDetails"/>
140+
<seeElement selector="{{ShippingMethodSection.productDetails('config product','1')}}" stepKey="assertConfigProductRedDetails"/>
141+
<seeElement selector="{{ShippingMethodSection.productDetails('config product','10')}}" stepKey="assertConfigProductGreenDetails"/>
142+
<!-- Click 'Continue to Billing Information' -->
143+
<actionGroup ref="StorefrontLeaveDefaultShippingMethodsAndGoToBillingInfoActionGroup" stepKey="useDefaultShippingMethod"/>
144+
<!-- Click 'Go to Review Your Order' -->
145+
<actionGroup ref="SelectBillingInfoActionGroup" stepKey="useDefaultBillingMethod"/>
146+
<!-- Click 'Place Order' -->
147+
<actionGroup ref="PlaceOrderActionGroup" stepKey="placeOrder"/>
148+
<waitForPageLoad stepKey="waitForOrderPlace"/>
149+
<grabTextFrom selector="{{StorefrontMultipleShippingMethodSection.orderId('1')}}" stepKey="grabFirstOrderId"/>
150+
<grabTextFrom selector="{{StorefrontMultipleShippingMethodSection.orderId('2')}}" stepKey="grabSecondOrderId"/>
151+
<!-- Go to My Account > My Orders and verify orderId-->
152+
<amOnPage url="{{StorefrontCustomerOrdersHistoryPage.url}}" stepKey="goToMyOrdersPage"/>
153+
<waitForPageLoad stepKey="waitForMyOrdersPageLoad"/>
154+
<seeElement selector="{{StorefrontCustomerOrdersGridSection.orderView({$grabFirstOrderId})}}" stepKey="seeFirstOrder"/>
155+
<seeElement selector="{{StorefrontCustomerOrdersGridSection.orderView({$grabSecondOrderId})}}" stepKey="seeSecondOrder"/>
156+
<!-- Logout customer -->
157+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutCustomer"/>
158+
</test>
159+
</tests>

0 commit comments

Comments
 (0)