Skip to content

Commit e5131df

Browse files
committed
ACP2E-1093: Automate AC-3640 for MC-37880
1 parent 24a2c46 commit e5131df

File tree

4 files changed

+242
-2
lines changed

4 files changed

+242
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AssertAdminShippingAddressFieldsOnOrderCreateFormActionGroup">
11+
<annotations>
12+
<description>Admin assert fields filled default shipping address from customer</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="namePrefix" type="string" defaultValue=""/>
16+
<argument name="firstName" type="string" defaultValue="{{US_Address_CA.firstname}}"/>
17+
<argument name="middleName" type="string" defaultValue=""/>
18+
<argument name="lastName" type="string" defaultValue="{{US_Address_CA.lastname}}"/>
19+
<argument name="nameSuffix" type="string" defaultValue=""/>
20+
<argument name="company" type="string" defaultValue="{{US_Address_CA.company}}"/>
21+
<argument name="streetLine1" type="string" defaultValue="{{US_Address_CA.street[0]}}"/>
22+
<argument name="streetLine2" type="string" defaultValue="{{US_Address_CA.street[1]}}"/>
23+
<argument name="country" type="string" defaultValue="{{US_Address_CA.country}}"/>
24+
<argument name="state" type="string" defaultValue="{{US_Address_CA.state}}"/>
25+
<argument name="province" type="string" defaultValue=""/>
26+
<argument name="city" type="string" defaultValue="{{US_Address_CA.city}}"/>
27+
<argument name="postcode" type="string" defaultValue="{{US_Address_CA.postcode}}"/>
28+
<argument name="phone" type="string" defaultValue="{{US_Address_CA.telephone}}"/>
29+
<argument name="fax" type="string" defaultValue=""/>
30+
<argument name="vatNumber" type="string" defaultValue="{{US_With_Vat_Number.vat_id}}"/>
31+
</arguments>
32+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.NamePrefix}}" stepKey="getNamePrefix"/>
33+
<assertEquals stepKey="assertNamePrefix">
34+
<expectedResult type="string">{{namePrefix}}</expectedResult>
35+
<actualResult type="variable">getNamePrefix</actualResult>
36+
</assertEquals>
37+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.FirstName}}" stepKey="getFirstName"/>
38+
<assertEquals stepKey="assertFirstName">
39+
<expectedResult type="string">{{firstName}}</expectedResult>
40+
<actualResult type="variable">getFirstName</actualResult>
41+
</assertEquals>
42+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.MiddleName}}" stepKey="getMiddleName"/>
43+
<assertEquals stepKey="assertMiddleName">
44+
<expectedResult type="string">{{middleName}}</expectedResult>
45+
<actualResult type="variable">getMiddleName</actualResult>
46+
</assertEquals>
47+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.LastName}}" stepKey="getLastName"/>
48+
<assertEquals stepKey="assertLastName">
49+
<expectedResult type="string">{{lastName}}</expectedResult>
50+
<actualResult type="variable">getLastName</actualResult>
51+
</assertEquals>
52+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.NameSuffix}}" stepKey="getNameSuffix"/>
53+
<assertEquals stepKey="assertNameSuffix">
54+
<expectedResult type="string">{{nameSuffix}}</expectedResult>
55+
<actualResult type="variable">getNameSuffix</actualResult>
56+
</assertEquals>
57+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.Company}}" stepKey="getCompany"/>
58+
<assertEquals stepKey="assertCompany">
59+
<expectedResult type="string">{{company}}</expectedResult>
60+
<actualResult type="variable">getCompany</actualResult>
61+
</assertEquals>
62+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.StreetLine1}}" stepKey="getStreetLine1"/>
63+
<assertEquals stepKey="assertStreetLine1">
64+
<expectedResult type="string">{{streetLine1}}</expectedResult>
65+
<actualResult type="variable">getStreetLine1</actualResult>
66+
</assertEquals>
67+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.StreetLine2}}" stepKey="getStreetLine2"/>
68+
<assertEquals stepKey="assertStreetLine2">
69+
<expectedResult type="string">{{streetLine2}}</expectedResult>
70+
<actualResult type="variable">getStreetLine2</actualResult>
71+
</assertEquals>
72+
<grabTextFrom selector="{{AdminOrderFormShippingAddressSection.countrySelectedOption}}" stepKey="getCountrySelectedOption"/>
73+
<assertEquals stepKey="assertCountrySelectedOption">
74+
<expectedResult type="string">{{country}}</expectedResult>
75+
<actualResult type="variable">getCountrySelectedOption</actualResult>
76+
</assertEquals>
77+
<grabTextFrom selector="{{AdminOrderFormShippingAddressSection.stateSelectedOption}}" stepKey="getStateSelectedOption"/>
78+
<assertEquals stepKey="assertStateSelectedOption">
79+
<expectedResult type="string">{{state}}</expectedResult>
80+
<actualResult type="variable">getStateSelectedOption</actualResult>
81+
</assertEquals>
82+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.Province}}" stepKey="getProvince"/>
83+
<assertEquals stepKey="assertProvince">
84+
<expectedResult type="string">{{province}}</expectedResult>
85+
<actualResult type="variable">getProvince</actualResult>
86+
</assertEquals>
87+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.City}}" stepKey="getCity"/>
88+
<assertEquals stepKey="assertCity">
89+
<expectedResult type="string">{{city}}</expectedResult>
90+
<actualResult type="variable">getCity</actualResult>
91+
</assertEquals>
92+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.PostalCode}}" stepKey="getPostCode"/>
93+
<assertEquals stepKey="assertPostCode">
94+
<expectedResult type="string">{{postcode}}</expectedResult>
95+
<actualResult type="variable">getPostCode</actualResult>
96+
</assertEquals>
97+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.Phone}}" stepKey="getPhone"/>
98+
<assertEquals stepKey="assertPhone">
99+
<expectedResult type="string">{{phone}}</expectedResult>
100+
<actualResult type="variable">getPhone</actualResult>
101+
</assertEquals>
102+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.Fax}}" stepKey="getFax"/>
103+
<assertEquals stepKey="assertFax">
104+
<expectedResult type="string">{{fax}}</expectedResult>
105+
<actualResult type="variable">getFax</actualResult>
106+
</assertEquals>
107+
<grabValueFrom selector="{{AdminOrderFormShippingAddressSection.VatNumber}}" stepKey="getVatNumber"/>
108+
<assertEquals stepKey="assertVatNumber">
109+
<expectedResult type="string">{{vatNumber}}</expectedResult>
110+
<actualResult type="variable">getVatNumber</actualResult>
111+
</assertEquals>
112+
</actionGroup>
113+
</actionGroups>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Sales\Test\Mftf\Helper;
9+
10+
use Exception;
11+
use Magento\FunctionalTestingFramework\Helper\Helper;
12+
use Magento\FunctionalTestingFramework\Module\MagentoWebDriver;
13+
14+
class AdminProductPage extends Helper
15+
{
16+
/**
17+
* @param string $context
18+
* @param int $count
19+
*/
20+
public function rapidChecksOnCheckBox(string $context, int $count)
21+
{
22+
try {
23+
/** @var MagentoWebDriver $webDriver */
24+
$webDriver = $this->getModule('\Magento\FunctionalTestingFramework\Module\MagentoWebDriver');
25+
for ($i = 0; $i < $count; $i++) {
26+
$webDriver->checkOption($context);
27+
$webDriver->waitForLoadingMaskToDisappear();
28+
$webDriver->waitForElementClickable($context);
29+
$webDriver->uncheckOption($context);
30+
$webDriver->waitForLoadingMaskToDisappear();
31+
$webDriver->waitForElementClickable($context);
32+
}
33+
} catch (Exception $e) {
34+
$this->fail($e->getMessage());
35+
}
36+
}
37+
38+
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@
2121
<element name="StreetLine2" type="input" selector="#order-shipping_address_street1"/>
2222
<element name="City" type="input" selector="#order-shipping_address_city"/>
2323
<element name="Country" type="select" selector="#order-shipping_address_country_id"/>
24+
<element name="countrySelectedOption" type="select" selector="#order-shipping_address_country_id option:checked"/>
2425
<element name="State" type="select" selector="#order-shipping_address_region_id"/>
26+
<element name="stateSelectedOption" type="select" selector="#order-shipping_address_region_id option:checked"/>
2527
<element name="Province" type="input" selector="#order-shipping_address_region"/>
2628
<element name="PostalCode" type="input" selector="#order-shipping_address_postcode"/>
2729
<element name="Phone" type="input" selector="#order-shipping_address_telephone"/>
2830
<element name="Fax" type="input" selector="#order-shipping_address_fax"/>
2931
<element name="VatNumber" type="input" selector="#order-shipping_address_vat_id"/>
3032
<element name="ValidateVatNumber" type="button" selector="#order-shipping_address_vat_id + .actions>button.action-default"/>
3133
<element name="SaveAddress" type="checkbox" selector="#order-shipping_address_save_in_address_book"/>
32-
3334
<element name="firstNameError" type="text" selector="#order-shipping_address_firstname-error"/>
3435
<element name="lastNameError" type="text" selector="#order-shipping_address_lastname-error"/>
3536
<element name="streetAddressError" type="text" selector="#order-shipping_address_street0-error"/>
@@ -39,4 +40,4 @@
3940
<element name="postalCodeError" type="text" selector="#order-shipping_address_postcode-error"/>
4041
<element name="phoneError" type="text" selector="#order-shipping_address_telephone-error"/>
4142
</section>
42-
</sections>
43+
</sections>
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
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="AdminCreateOrderSameAsBillingAddressCheckboxTest">
12+
<annotations>
13+
<title value="Asserting Shipping address information while placing order in admin"/>
14+
<stories value="Asserting Shipping address information after frequent check/uncheck the Same As Billing Address checkbox while placing order in admin"/>
15+
<description value="Frequent check/uncheck the Same As Billing Address checkbox on Create New Order page in Admin panel and asserting Shipping address information"/>
16+
<testCaseId value="AC-3640"/>
17+
<useCaseId value="MC-37880"/>
18+
<features value="Sales"/>
19+
<severity value="AVERAGE"/>
20+
<group value="Sales"/>
21+
</annotations>
22+
<before>
23+
<createData entity="Simple_US_Customer_CA" stepKey="simpleCustomer"/>
24+
<createData entity="SimpleProduct_25" stepKey="simpleProduct">
25+
<field key="price">5</field>
26+
</createData>
27+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
28+
</before>
29+
<actionGroup ref="NavigateToNewOrderPageExistingCustomerActionGroup" stepKey="navigateToNewOrderWithExistingCustomer">
30+
<argument name="customer" value="$$simpleCustomer$$"/>
31+
</actionGroup>
32+
<actionGroup ref="AddSimpleProductToOrderActionGroup" stepKey="addSimpleProductToOrder">
33+
<argument name="product" value="$$simpleProduct$$"/>
34+
<argument name="productQty" value="{{SimpleProduct_25.quantity}}"/>
35+
</actionGroup>
36+
<scrollTo selector="section#order-addresses" stepKey="scrollToSameAsBillingAddress"/>
37+
<actionGroup ref="AssertAdminBillingAddressFieldsOnOrderCreateFormActionGroup" stepKey="assertBillingAddressFieldsFilled">
38+
<argument name="vatNumber" value=""/>
39+
</actionGroup>
40+
<actionGroup ref="AssertAdminShippingAddressFieldsOnOrderCreateFormActionGroup" stepKey="assertShippingAddresFieldsFilled">
41+
<argument name="vatNumber" value=""/>
42+
</actionGroup>
43+
<seeCheckboxIsChecked selector="{{AdminOrderFormShippingAddressSection.SameAsBilling}}" stepKey="seeSameAsBillingCheckboxChecked"/>
44+
<uncheckOption selector="{{AdminOrderFormShippingAddressSection.SameAsBilling}}" stepKey="uncheckSameAsBillingCheckbox"/>
45+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearSameAsBilling"/>
46+
<waitForElementClickable selector="{{AdminOrderFormShippingAddressSection.SameAsBilling}}" stepKey="waitForElementClickableSameAsBilling"/>
47+
<selectOption userInput="" selector="{{AdminOrderFormBillingAddressSection.selectAddress}}" stepKey="addNewBillingAddress" />
48+
<waitForAjaxLoad stepKey="waitForAjaxLoad"/>
49+
<fillField selector="{{AdminOrderFormBillingAddressSection.FirstName}}" userInput="{{US_Address_NY_Not_Default_Address.firstname}}" stepKey="fillBillingAddressFirstName"/>
50+
<fillField selector="{{AdminOrderFormBillingAddressSection.LastName}}" userInput="{{US_Address_NY_Not_Default_Address.lastname}}" stepKey="fillBillingAddressLastName"/>
51+
<fillField selector="{{AdminOrderFormBillingAddressSection.StreetLine1}}" userInput="{{US_Address_NY_Not_Default_Address.street[0]}}" stepKey="fillBillingAddressStreetLine1"/>
52+
<fillField selector="{{AdminOrderFormBillingAddressSection.StreetLine2}}" userInput="{{US_Address_NY_Not_Default_Address.street[1]}}" stepKey="fillBillingAddressStreetLine2"/>
53+
<selectOption userInput="{{US_Address_NY_Not_Default_Address.country}}" selector="{{AdminOrderFormBillingAddressSection.Country}}" stepKey="selectBillingAddressCountry"/>
54+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearCountry"/>
55+
<selectOption userInput="{{US_Address_NY_Not_Default_Address.state}}" selector="{{AdminOrderFormBillingAddressSection.State}}" stepKey="selectBillingAddressState"/>
56+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearState"/>
57+
<fillField selector="{{AdminOrderFormBillingAddressSection.City}}" userInput="{{US_Address_NY_Not_Default_Address.city}}" stepKey="fillBillingAddressCity"/>
58+
<fillField selector="{{AdminOrderFormBillingAddressSection.PostalCode}}" userInput="{{US_Address_NY_Not_Default_Address.postcode}}" stepKey="fillBillingAddressPostalCode"/>
59+
<fillField selector="{{AdminOrderFormBillingAddressSection.Phone}}" userInput="{{US_Address_NY_Not_Default_Address.telephone}}" stepKey="fillBillingAddressPhone"/>
60+
<scrollTo selector="section#order-addresses" stepKey="scrollToSameAsBillingAddress2"/>
61+
<helper class="\Magento\Sales\Test\Mftf\Helper\AdminProductPage" method="rapidChecksOnCheckBox" stepKey="rapidClickOnSameAsBillingAddressCheckbox">
62+
<argument name="context">{{AdminOrderFormShippingAddressSection.SameAsBilling}}</argument>
63+
<argument name="count">5</argument>
64+
</helper>
65+
<actionGroup ref="AssertAdminShippingAddressFieldsOnOrderCreateFormActionGroup" stepKey="assertShippingAddresFieldsAfterRaidChecks">
66+
<argument name="namePrefix" value=""/>
67+
<argument name="firstName" value="{{US_Address_NY_Not_Default_Address.firstname}}"/>
68+
<argument name="middleName" value=""/>
69+
<argument name="lastName" value="{{US_Address_NY_Not_Default_Address.lastname}}"/>
70+
<argument name="company" value=""/>
71+
<argument name="streetLine1" value="{{US_Address_NY_Not_Default_Address.street[0]}}"/>
72+
<argument name="streetLine2" value="{{US_Address_NY_Not_Default_Address.street[1]}}"/>
73+
<argument name="country" value="{{US_Address_NY_Not_Default_Address.country}}"/>
74+
<argument name="state" value="{{US_Address_NY_Not_Default_Address.state}}"/>
75+
<argument name="province" value=""/>
76+
<argument name="city" value="{{US_Address_NY_Not_Default_Address.city}}"/>
77+
<argument name="postcode" value="{{US_Address_NY_Not_Default_Address.postcode}}"/>
78+
<argument name="phone" value="{{US_Address_NY_Not_Default_Address.telephone}}"/>
79+
<argument name="fax" value=""/>
80+
<argument name="vatNumber" value=""/>
81+
</actionGroup>
82+
<after>
83+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
84+
<deleteData createDataKey="simpleProduct" stepKey="deleteSimpleProduct"/>
85+
<deleteData createDataKey="simpleCustomer" stepKey="deleteSimpleCustomer"/>
86+
</after>
87+
</test>
88+
</tests>

0 commit comments

Comments
 (0)