Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

Commit 90e46d4

Browse files
authored
Merge pull request #96 from magento-pangolin/MC-4457
MC-4457
2 parents 7a38191 + 9909ce0 commit 90e46d4

24 files changed

+961
-7
lines changed
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="CustomerCheckoutFillNewShippingAddressActionGroup">
12+
<arguments>
13+
<argument name="address" type="entity"/>
14+
</arguments>
15+
<selectOption selector="{{CheckoutShippingSection.country}}" userInput="{{address.country}}" stepKey="selectCounty"/>
16+
<fillField selector="{{CheckoutShippingSection.street}}" userInput="{{address.street}}" stepKey="fillStreet"/>
17+
<fillField selector="{{CheckoutShippingSection.city}}" userInput="{{address.city}}" stepKey="fillCity"/>
18+
<selectOption selector="{{CheckoutShippingSection.region}}" userInput="{{address.state}}" stepKey="selectRegion"/>
19+
<fillField selector="{{CheckoutShippingSection.postcode}}" userInput="{{address.postcode}}" stepKey="fillZipCode"/>
20+
<fillField selector="{{CheckoutShippingSection.telephone}}" userInput="{{address.telephone}}" stepKey="fillPhone"/>
21+
<fillField selector="{{CheckoutShippingSection.company}}" userInput="{{address.company}}" stepKey="fillCompany"/>
22+
</actionGroup>
23+
</actionGroups>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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="GuestCheckoutFillNewShippingAddressActionGroup">
12+
<arguments>
13+
<argument name="customer" type="entity"/>
14+
<argument name="address" type="entity"/>
15+
</arguments>
16+
<fillField selector="{{CheckoutShippingSection.email}}" userInput="{{customer.email}}" stepKey="fillEmailField"/>
17+
<fillField selector="{{CheckoutShippingSection.firstName}}" userInput="{{customer.firstName}}" stepKey="fillFirstName"/>
18+
<fillField selector="{{CheckoutShippingSection.lastName}}" userInput="{{customer.lastName}}" stepKey="fillLastName"/>
19+
<fillField selector="{{CheckoutShippingSection.street}}" userInput="{{address.street}}" stepKey="fillStreet"/>
20+
<fillField selector="{{CheckoutShippingSection.city}}" userInput="{{address.city}}" stepKey="fillCity"/>
21+
<selectOption selector="{{CheckoutShippingSection.region}}" userInput="{{address.state}}" stepKey="selectRegion"/>
22+
<fillField selector="{{CheckoutShippingSection.postcode}}" userInput="{{address.postcode}}" stepKey="fillZipCode"/>
23+
<fillField selector="{{CheckoutShippingSection.telephone}}" userInput="{{address.telephone}}" stepKey="fillPhone"/>
24+
</actionGroup>
25+
</actionGroups>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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="LoginAsCustomerOnCheckoutPageActionGroup">
12+
<arguments>
13+
<argument name="customer" type="entity"/>
14+
</arguments>
15+
<waitForPageLoad stepKey="waitForCheckoutShippingSectionToLoad"/>
16+
<fillField selector="{{CheckoutShippingSection.email}}" userInput="{{customer.email}}" stepKey="fillEmailField"/>
17+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear"/>
18+
<waitForElementVisible selector="{{CheckoutShippingSection.password}}" stepKey="waitForElementVisible"/>
19+
<fillField selector="{{CheckoutShippingSection.password}}" userInput="{{customer.password}}" stepKey="fillPasswordField"/>
20+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear2"/>
21+
<doubleClick selector="{{CheckoutShippingSection.loginButton}}" stepKey="clickLoginBtn"/>
22+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear3"/>
23+
<waitForPageLoad stepKey="waitForLogin"/>
24+
</actionGroup>
25+
</actionGroups>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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="LoginAsCustomerUsingSignInLinkActionGroup">
12+
<arguments>
13+
<argument name="customer" type="entity"/>
14+
</arguments>
15+
<click selector="{{StorefrontCustomerSignInLinkSection.signInLink}}" stepKey="clickOnCustomizeAndAddToCartButton"/>
16+
<fillField selector="{{StorefrontCustomerSignInLinkSection.email}}" userInput="{{customer.email}}" stepKey="fillEmail"/>
17+
<fillField selector="{{StorefrontCustomerSignInLinkSection.password}}" userInput="{{customer.password}}" stepKey="fillPassword"/>
18+
<click selector="{{StorefrontCustomerSignInLinkSection.signInBtn}}" stepKey="clickSignInBtn"/>
19+
</actionGroup>
20+
</actionGroups>

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutPaymentSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@
1414
<element name="notAvailablePaymentSolutions" type="text" selector="#checkout-payment-method-load>div>div>div.payment-method._active>div.payment-method-title.field.choice"/>
1515
<element name="billingNewAddressForm" type="text" selector="[data-form='billing-new-address']"/>
1616
<element name="billingAddressNotSameCheckbox" type="checkbox" selector="#billing-address-same-as-shipping-checkmo"/>
17+
<element name="editAddress" type="button" selector="button.action.action-edit-address"/>
1718
<element name="placeOrderDisabled" type="button" selector="#checkout-payment-method-load button.disabled"/>
1819
<element name="update" type="button" selector=".payment-method-billing-address .action.action-update"/>
1920
<element name="guestFirstName" type="input" selector=".billing-address-form input[name*='firstname']"/>
2021
<element name="guestLastName" type="input" selector=".billing-address-form input[name*='lastname']"/>
2122
<element name="guestStreet" type="input" selector=".billing-address-form input[name*='street[0]']"/>
2223
<element name="guestCity" type="input" selector=".billing-address-form input[name*='city']"/>
24+
<element name="guestCountry" type="select" selector=".billing-address-form select[name*='country_id']"/>
2325
<element name="guestRegion" type="select" selector=".billing-address-form select[name*='region_id']"/>
2426
<element name="guestPostcode" type="input" selector=".billing-address-form input[name*='postcode']"/>
2527
<element name="guestTelephone" type="input" selector=".billing-address-form input[name*='telephone']"/>

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutShippingGuestInfoSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
<element name="email" type="input" selector="#checkout-customer-email"/>
1313
<element name="firstName" type="input" selector="input[name=firstname]"/>
1414
<element name="lastName" type="input" selector="input[name=lastname]"/>
15+
<element name="company" type="input" selector="input[name=company]"/>
1516
<element name="street" type="input" selector="input[name='street[0]']"/>
1617
<element name="street2" type="input" selector="input[name='street[1]']"/>
1718
<element name="city" type="input" selector="input[name=city]"/>
1819
<element name="region" type="select" selector="select[name=region_id]"/>
1920
<element name="regionInput" type="input" selector="input[name=region]"/>
2021
<element name="postcode" type="input" selector="input[name=postcode]"/>
2122
<element name="country" type="select" selector="select[name=country_id]"/>
22-
<element name="company" type="input" selector="input[name=company]"/>
2323
<element name="telephone" type="input" selector="input[name=telephone]"/>
2424
<element name="next" type="button" selector="button.button.action.continue.primary" timeout="30"/>
2525
<element name="firstShippingMethod" type="radio" selector=".row:nth-of-type(1) .col-method .radio"/>

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutShippingMethodsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<element name="shippingMethodRow" type="text" selector=".form.methods-shipping table tbody tr"/>
1515
<element name="checkShippingMethodByName" type="radio" selector="//div[@id='checkout-shipping-method-load']//td[contains(., '{{var1}}')]/..//input" parameterized="true"/>
1616
<element name="shippingMethodFlatRate" type="radio" selector="#checkout-shipping-method-load input[value='flatrate_flatrate']"/>
17+
<element name="shippingMethodFreeShipping" type="radio" selector="#checkout-shipping-method-load input[value='freeshipping_freeshipping']"/>
1718
<element name="shippingMethodRowByName" type="text" selector="//div[@id='checkout-shipping-method-load']//td[contains(., '{{var1}}')]/.." parameterized="true"/>
1819
<element name="shipHereButton" type="button" selector="//div/following-sibling::div/button[contains(@class, 'action-select-shipping-item')]"/>
1920
<element name="shippingMethodLoader" type="button" selector="//div[contains(@class, 'checkout-shipping-method')]/following-sibling::div[contains(@class, 'loading-mask')]"/>

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutShippingSection.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
<element name="editAddressButton" type="button" selector=".action-edit-address" timeout="30"/>
1616
<element name="addressDropdown" type="select" selector="[name=billing_address_id]"/>
1717
<element name="newAddressButton" type="button" selector=".action-show-popup" timeout="30"/>
18-
<element name="email" type="input" selector="#checkout-customer-email"/>
18+
<element name="email" type="input" selector="input[id*=customer-email]"/>
19+
<element name="password" type="input" selector="#customer-password"/>
1920
<element name="firstName" type="input" selector="input[name=firstname]"/>
2021
<element name="lastName" type="input" selector="input[name=lastname]"/>
2122
<element name="company" type="input" selector="input[name=company]"/>
@@ -36,5 +37,7 @@
3637
<element name="stateInput" type="input" selector="input[name=region]"/>
3738
<element name="regionOptions" type="select" selector="select[name=region_id] option"/>
3839
<element name="editActiveAddress" type="button" selector="//div[@class='shipping-address-item selected-item']//span[text()='Edit']" timeout="30"/>
40+
<element name="loginButton" type="button" selector=".action.login" timeout="30"/>
41+
<element name="shipHereButton" type="button" selector="//div[text()='{{street}}']/button[@class='action action-select-shipping-item']" parameterized="true" timeout="30"/>
3942
</section>
4043
</sections>
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
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="OnePageCheckoutAsCustomerUsingDefaultAddressTest">
12+
<annotations>
13+
<features value="OnePageCheckout"/>
14+
<stories value="OnePageCheckout within Offline Payment Methods"/>
15+
<title value="OnePageCheckout as customer using default address test"/>
16+
<description value="Checkout as customer using default address"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-14741"/>
19+
<group value="checkout"/>
20+
<group value="mtf_migrated"/>
21+
</annotations>
22+
<before>
23+
<!-- Create Simple Product -->
24+
<createData entity="SimpleProduct2" stepKey="createSimpleProduct">
25+
<field key="price">560</field>
26+
</createData>
27+
28+
<!-- Create customer -->
29+
<createData entity="Simple_US_Customer_Multiple_Addresses" stepKey="createCustomer"/>
30+
</before>
31+
<after>
32+
<!-- Admin log out -->
33+
<actionGroup ref="logout" stepKey="logout"/>
34+
35+
<!-- Customer log out -->
36+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="customerLogout"/>
37+
38+
<!-- Delete created product -->
39+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
40+
41+
<!-- Delete customer -->
42+
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
43+
</after>
44+
45+
<!-- Add Simple Product to cart -->
46+
<amOnPage url="{{StorefrontProductPage.url($$createSimpleProduct.custom_attributes[url_key]$$)}}" stepKey="navigateToSimpleProductPage"/>
47+
<waitForPageLoad stepKey="waitForSimpleProductPageLoad"/>
48+
<actionGroup ref="addToCartFromStorefrontProductPage" stepKey="addToCartFromStorefrontProductPage">
49+
<argument name="productName" value="$$createSimpleProduct.name$$"/>
50+
</actionGroup>
51+
52+
<!-- Go to shopping cart -->
53+
<actionGroup ref="clickViewAndEditCartFromMiniCart" stepKey="goToShoppingCartFromMinicart"/>
54+
<actionGroup ref="FillShippingZipForm" stepKey="fillShippingZipForm">
55+
<argument name="address" value="US_Address_CA"/>
56+
</actionGroup>
57+
<click selector="{{CheckoutCartSummarySection.proceedToCheckout}}" stepKey="clickProceedToCheckout"/>
58+
<waitForPageLoad stepKey="waitForProceedToCheckout"/>
59+
60+
61+
<!-- Login as customer on checkout page -->
62+
<actionGroup ref="LoginAsCustomerOnCheckoutPageActionGroup" stepKey="customerLogin">
63+
<argument name="customer" value="$createCustomer$"/>
64+
</actionGroup>
65+
66+
<!-- Fill customer address data -->
67+
<waitForElementVisible selector="{{CheckoutShippingSection.shipHereButton(UK_Not_Default_Address.street[0])}}" stepKey="waitForShipHereVisible"/>
68+
<!-- Change address -->
69+
<click selector="{{CheckoutShippingSection.shipHereButton(UK_Not_Default_Address.street[0])}}" stepKey="clickShipHere"/>
70+
71+
<!-- Click next button to open payment section -->
72+
<click selector="{{CheckoutShippingGuestInfoSection.next}}" stepKey="clickNext"/>
73+
<waitForPageLoad stepKey="waitForShipmentPageLoad"/>
74+
75+
<!-- Select payment solution -->
76+
<checkOption selector="{{CheckoutPaymentSection.billingAddressNotSameCheckbox}}" stepKey="selectPaymentSolution" />
77+
78+
<!-- Check order summary in checkout -->
79+
<waitForElement selector="{{CheckoutPaymentSection.paymentSectionTitle}}" stepKey="waitForPaymentSectionLoaded"/>
80+
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrderButton"/>
81+
<seeElement selector="{{CheckoutSuccessMainSection.success}}" stepKey="orderIsSuccessfullyPlaced"/>
82+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="grabOrderNumber"/>
83+
84+
<!-- Login as admin -->
85+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
86+
87+
<!-- Open created order in backend -->
88+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="goToOrders"/>
89+
<waitForPageLoad stepKey="waitForOrdersPageLoad"/>
90+
<actionGroup ref="OpenOrderById" stepKey="filterOrderGridById">
91+
<argument name="orderId" value="$grabOrderNumber"/>
92+
</actionGroup>
93+
94+
<!-- Assert order total -->
95+
<scrollTo selector="{{AdminOrderTotalSection.grandTotal}}" stepKey="scrollToOrderTotalSection"/>
96+
<see selector="{{AdminOrderTotalSection.grandTotal}}" userInput="$565.00" stepKey="checkOrderTotalInBackend"/>
97+
98+
<!-- Assert order addresses -->
99+
<see selector="{{AdminShipmentAddressInformationSection.billingAddress}}" userInput="{{UK_Not_Default_Address.street[0]}}" stepKey="seeBillingAddressStreet"/>
100+
<see selector="{{AdminShipmentAddressInformationSection.billingAddress}}" userInput="{{UK_Not_Default_Address.city}}" stepKey="seeBillingAddressCity"/>
101+
<see selector="{{AdminShipmentAddressInformationSection.billingAddress}}" userInput="{{UK_Not_Default_Address.postcode}}" stepKey="seeBillingAddressPostcode"/>
102+
<see selector="{{AdminShipmentAddressInformationSection.shippingAddress}}" userInput="{{UK_Not_Default_Address.street[0]}}" stepKey="seeShippingAddressStreet"/>
103+
<see selector="{{AdminShipmentAddressInformationSection.shippingAddress}}" userInput="{{UK_Not_Default_Address.city}}" stepKey="seeShippingAddressCity"/>
104+
<see selector="{{AdminShipmentAddressInformationSection.shippingAddress}}" userInput="{{UK_Not_Default_Address.postcode}}" stepKey="seeShippingAddressPostcode"/>
105+
</test>
106+
</tests>

0 commit comments

Comments
 (0)