Skip to content

Commit 693c009

Browse files
author
Alexander Akimov
authored
Merge pull request #3317 from magento-tsg/2.2-develop-mftf-pr8
[TSG] MFTF for 2.2 (pr8) (2.2.8)
2 parents cbd8d8a + ce9cfc2 commit 693c009

20 files changed

+575
-13
lines changed

app/code/Magento/Backend/Test/Mftf/Section/AdminMainActionsSection.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
-->
88

99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10-
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminMainActionsSection">
12-
<element name="save" type="button" selector="#save"/>
12+
<element name="save" type="button" selector="#save" timeout="30"/>
1313
<element name="delete" type="button" selector="#delete"/>
1414
<element name="add" type="button" selector="#add" timeout="30"/>
1515
</section>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
11+
<!-- Add Bundle Product to Cart from the category page with specified quantity to cart -->
12+
<actionGroup name="StorefrontAddCategoryBundleProductToCartActionGroup">
13+
<arguments>
14+
<argument name="product"/>
15+
<argument name="quantity" defaultValue="1" type="string"/>
16+
</arguments>
17+
<moveMouseOver selector="{{StorefrontCategoryProductSection.productTitleByName(product.name)}}" stepKey="moveMouseOverProduct"/>
18+
<click selector="{{StorefrontCategoryProductSection.productTitleByName(product.name)}}" stepKey="openProductPage"/>
19+
<waitForPageLoad time="30" stepKey="waitForBundleProductPageLoad"/>
20+
<click selector="{{StorefrontBundledSection.addToCart}}" stepKey="clickCustomizeAndAddToCart"/>
21+
<fillField selector="{{StorefrontProductInfoMainSection.qty}}" userInput="{{quantity}}" stepKey="fillBundleProductQuantity"/>
22+
<click selector="{{StorefrontBundledSection.addToCartConfigured}}" stepKey="clickAddBundleProductToCart"/>
23+
<waitForText userInput="{{quantity}}" selector="{{StorefrontMinicartSection.productCount}}" time="30" stepKey="assertProductCount"/>
24+
<see userInput="You added {{product.name}} to your shopping cart." selector="{{StorefrontMessagesSection.success}}" stepKey="seeSuccessMessage"/>
25+
</actionGroup>
26+
</actionGroups>
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="StorefrontAddBundleProductWithZeroPriceToShoppingCartTest">
12+
<annotations>
13+
<features value="Bundle"/>
14+
<stories value="Add Bundle product with zero price to shopping cart"/>
15+
<title value="Add Bundle product with zero price to shopping cart"/>
16+
<description value="Add Bundle product with zero price to shopping cart"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MAGETWO-83535"/>
19+
<group value="bundle"/>
20+
</annotations>
21+
<before>
22+
<!--Enable freeShipping-->
23+
<createData entity="FreeShippinMethodConfig" stepKey="enableFreeShipping"/>
24+
<!--Create category-->
25+
<createData entity="SimpleSubCategory" stepKey="createSubCategory"/>
26+
<!--Create simple with zero price product-->
27+
<createData entity="ApiProductWithDescription" stepKey="apiSimple">
28+
<field key="price">0</field>
29+
</createData>
30+
<!--Create Bundle product-->
31+
<createData entity="ApiBundleProductPriceViewRange" stepKey="apiBundleProduct">
32+
<requiredEntity createDataKey="createSubCategory"/>
33+
</createData>
34+
<!--Create Attribute-->
35+
<createData entity="DropDownBundleOption" stepKey="bundleOption">
36+
<requiredEntity createDataKey="apiBundleProduct"/>
37+
</createData>
38+
<createData entity="ApiBundleLink" stepKey="createBundleLink">
39+
<requiredEntity createDataKey="apiBundleProduct"/>
40+
<requiredEntity createDataKey="bundleOption"/>
41+
<requiredEntity createDataKey="apiSimple"/>
42+
</createData>
43+
<magentoCLI command="indexer:reindex" stepKey="reindex"/>
44+
</before>
45+
<after>
46+
<createData entity="FreeShippinMethodDefault" stepKey="disableFreeShipping"/>
47+
<deleteData createDataKey="apiSimple" stepKey="deleteSimple"/>
48+
<deleteData createDataKey="apiBundleProduct" stepKey="deleteBundleProduct"/>
49+
<deleteData createDataKey="createSubCategory" stepKey="deleteCategory"/>
50+
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearFilters"/>
51+
<actionGroup ref="logout" stepKey="logout"/>
52+
</after>
53+
<!--Open category page-->
54+
<amOnPage url="{{StorefrontCategoryPage.url($$createSubCategory.custom_attributes[url_key]$$)}}" stepKey="amOnCategoryPage"/>
55+
<waitForPageLoad stepKey="waitForCategoryPageLoad"/>
56+
<!--Add bundle product to cart-->
57+
<actionGroup ref="StorefrontAddCategoryBundleProductToCartActionGroup" stepKey="addBundleProductToCart">
58+
<argument name="product" value="$$apiBundleProduct$$"/>
59+
</actionGroup>
60+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckoutFromMinicart"/>
61+
62+
<!--Place order-->
63+
<actionGroup ref="GuestCheckoutFillingShippingSectionActionGroup" stepKey="guestCheckoutFillingShipping">
64+
<argument name="shippingMethod" value="Free Shipping"/>
65+
</actionGroup>
66+
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="checkoutPlaceOrder"/>
67+
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" stepKey="grabOrderNumber"/>
68+
69+
<!--Check subtotal in created order-->
70+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
71+
<actionGroup ref="filterOrderGridById" stepKey="filterOrderById">
72+
<argument name="orderId" value="$grabOrderNumber"/>
73+
</actionGroup>
74+
<click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/>
75+
<scrollTo selector="{{AdminOrderTotalSection.subTotal}}" stepKey="scrollToOrderTotalSection"/>
76+
<see selector="{{AdminOrderTotalSection.subTotal}}" userInput="$0.00" stepKey="checkSubtotal"/>
77+
</test>
78+
</tests>

app/code/Magento/Catalog/Test/Mftf/ActionGroup/AdminProductActionGroup.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,15 @@
140140
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="acceptStoreSwitchingMessage"/>
141141
<waitForPageLoad stepKey="waitForPageLoad"/>
142142
</actionGroup>
143+
144+
<!--Select Product In Websites-->
145+
<actionGroup name="SelectProductInWebsitesActionGroup">
146+
<arguments>
147+
<argument name="website" type="string"/>
148+
</arguments>
149+
<scrollTo selector="{{ProductInWebsitesSection.sectionHeader}}" stepKey="scrollToWebsites"/>
150+
<click selector="{{ProductInWebsitesSection.sectionHeader}}" stepKey="clickToOpenProductInWebsite"/>
151+
<waitForPageLoad stepKey="waitForPageOpened"/>
152+
<checkOption selector="{{ProductInWebsitesSection.website(website)}}" stepKey="selectWebsite"/>
153+
</actionGroup>
143154
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Page/AdminCategoryPage.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
<section name="AdminCategoryBasicFieldSection"/>
1515
<section name="AdminCategorySEOSection"/>
1616
<section name="AdminCategoryModalSection"/>
17+
<section name="AdminCategoryProductsGridSection"/>
1718
</page>
1819
</pages>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
11+
<section name="AdminCategoryProductsGridSection">
12+
<element name="productGridNameProduct" type="text" selector="//table[@id='catalog_category_products_table']//td[contains(., '{{productName}}')]" parameterized="true"/>
13+
</section>
14+
</sections>
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AdminFilteringCategoryProductsUsingScopeSelectorTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<title value="Filtering Category Products using scope selector"/>
15+
<description value="Filtering Category Products using scope selector"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MAGETWO-78408"/>
18+
<group value="catalog"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
22+
<!--Create website, Sore adn Store View-->
23+
<actionGroup ref="AdminCreateWebsiteActionGroup" stepKey="adminCreateWebsite">
24+
<argument name="newWebsiteName" value="secondWebsite"/>
25+
<argument name="websiteCode" value="second_website"/>
26+
</actionGroup>
27+
<actionGroup ref="AdminCreateNewStoreGroupActionGroup" stepKey="adminCreateStore">
28+
<argument name="website" value="secondWebsite"/>
29+
<argument name="storeGroupName" value="Second Store"/>
30+
<argument name="storeGroupCode" value="second_store"/>
31+
</actionGroup>
32+
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="adminCreateStoreView">
33+
<argument name="storeGroup" value="secondStoreGroup"/>
34+
<argument name="customStore" value="secondStore"/>
35+
</actionGroup>
36+
37+
<!--Create Simple Product and Category -->
38+
<createData entity="_defaultCategory" stepKey="createCategory"/>
39+
<createData entity="_defaultProduct" stepKey="createProduct0">
40+
<requiredEntity createDataKey="createCategory"/>
41+
</createData>
42+
<createData entity="_defaultProduct" stepKey="createProduct1">
43+
<requiredEntity createDataKey="createCategory"/>
44+
</createData>
45+
<createData entity="_defaultProduct" stepKey="createProduct2">
46+
<requiredEntity createDataKey="createCategory"/>
47+
</createData>
48+
<createData entity="_defaultProduct" stepKey="createProduct12">
49+
<requiredEntity createDataKey="createCategory"/>
50+
</createData>
51+
52+
<!-- Set filter to product name and product0 not assigned to any website-->
53+
<actionGroup ref="SearchForProductOnBackendActionGroup" stepKey="filterGroupedProductOptions">
54+
<argument name="product" value="_defaultProduct"/>
55+
</actionGroup>
56+
57+
<click selector="{{AdminProductGridSection.productGridNameProduct('$$createProduct0.name$$')}}"
58+
stepKey="clickOpenProductForEdit"/>
59+
<waitForPageLoad time="30" stepKey="waitForProductEditOpen"/>
60+
61+
<scrollTo selector="{{ProductInWebsitesSection.sectionHeader}}" stepKey="scrollToWebsitesSection"/>
62+
<click selector="{{ProductInWebsitesSection.sectionHeader}}" stepKey="clickToOpenWebsiteSection"/>
63+
<waitForPageLoad stepKey="waitForToOpenedWebsiteSection"/>
64+
<uncheckOption selector="{{ProductInWebsitesSection.website('Main Website')}}" stepKey="uncheckWebsite"/>
65+
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveProduct"/>
66+
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product."
67+
stepKey="seeSuccessMessage"/>
68+
69+
<!-- Set filter to product name and product2 in website 2 only -->
70+
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex"/>
71+
<waitForPageLoad time="30" stepKey="waitForProductsPageToLoad"/>
72+
<click selector="{{AdminProductGridSection.productGridNameProduct('$$createProduct2.name$$')}}"
73+
stepKey="clickOpenProductForEdit1"/>
74+
<waitForPageLoad time="30" stepKey="waitForProductEditOpen1"/>
75+
76+
<actionGroup ref="SelectProductInWebsitesActionGroup" stepKey="selectProductInWebsites">
77+
<argument name="website" value="secondWebsite"/>
78+
</actionGroup>
79+
<uncheckOption selector="{{ProductInWebsitesSection.website('Main Website')}}" stepKey="uncheckWebsite1"/>
80+
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveProduct1"/>
81+
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product."
82+
stepKey="seeSuccessMessage1"/>
83+
84+
<!-- Set filter to product name and product12 assigned to both websites 1 and 2 -->
85+
<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="navigateToProductIndex1"/>
86+
<waitForPageLoad time="30" stepKey="waitForProductsPageToLoad1"/>
87+
<click selector="{{AdminProductGridSection.productGridNameProduct('$$createProduct12.name$$')}}"
88+
stepKey="clickOpenProductForEdit2"/>
89+
<waitForPageLoad time="30" stepKey="waitForProductEditOpen2"/>
90+
91+
<actionGroup ref="SelectProductInWebsitesActionGroup" stepKey="selectProductInWebsites1">
92+
<argument name="website" value="secondWebsite"/>
93+
</actionGroup>
94+
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveProduct2"/>
95+
<see selector="{{AdminProductMessagesSection.successMessage}}" userInput="You saved the product."
96+
stepKey="seeSuccessMessage2"/>
97+
</before>
98+
<after>
99+
<actionGroup ref="AdminDeleteWebsiteActionGroup" stepKey="deleteWebsite">
100+
<argument name="websiteName" value="secondWebsite"/>
101+
</actionGroup>
102+
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearProductFilters"/>
103+
<deleteData createDataKey="createProduct0" stepKey="deleteProduct"/>
104+
<deleteData createDataKey="createProduct1" stepKey="deleteProduct1"/>
105+
<deleteData createDataKey="createProduct2" stepKey="deleteProduct2"/>
106+
<deleteData createDataKey="createProduct12" stepKey="deleteProduct3"/>
107+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
108+
<actionGroup ref="logout" stepKey="logout"/>
109+
</after>
110+
<!-- Step 1-2: Open Category page and Set scope selector to All Store Views-->
111+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="goToCategoryPage"/>
112+
<waitForPageLoad stepKey="waitForCategoryPageLoad"/>
113+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree($$createCategory.name$$)}}"
114+
stepKey="clickCategoryName"/>
115+
<click selector="{{AdminCategoryProductsSection.sectionHeader}}" stepKey="openProductSection"/>
116+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct0.name$$)}}"
117+
userInput="$$createProduct0.name$$" stepKey="seeProductName"/>
118+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct1.name$$)}}"
119+
userInput="$$createProduct1.name$$" stepKey="seeProductName1"/>
120+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct2.name$$)}}"
121+
userInput="$$createProduct2.name$$" stepKey="seeProductName2"/>
122+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct12.name$$)}}"
123+
userInput="$$createProduct12.name$$" stepKey="seeProductName3"/>
124+
125+
<!-- Step 3: Set scope selector to Website1( Storeview for the Website 1) -->
126+
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
127+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewDropdownToggle}}"
128+
stepKey="clickStoresList"/>
129+
<waitForPageLoad stepKey="waitForCategoryPageLoad1"/>
130+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewOption('Default Store View')}}"
131+
stepKey="clickStoreView"/>
132+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewModalAccept}}" stepKey="clickActionAccept"/>
133+
<waitForPageLoad stepKey="waitForCategoryPageLoad2"/>
134+
<click selector="{{AdminCategoryProductsSection.sectionHeader}}" stepKey="openProductSection1"/>
135+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct1.name$$)}}"
136+
userInput="$$createProduct1.name$$" stepKey="seeProductName4"/>
137+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct12.name$$)}}"
138+
userInput="$$createProduct12.name$$" stepKey="seeProductName5"/>
139+
<dontSee selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct0.name$$)}}"
140+
userInput="$$createProduct0.name$$" stepKey="dontSeeProductName"/>
141+
<dontSee selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct2.name$$)}}"
142+
userInput="$$createProduct2.name$$" stepKey="dontSeeProductName1"/>
143+
144+
<!-- Step 4: Set scope selector to Website2 ( StopreView for Website 2) -->
145+
<scrollToTopOfPage stepKey="scrollToTopOfPage1"/>
146+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewDropdownToggle}}"
147+
stepKey="clickStoresList1"/>
148+
<waitForPageLoad stepKey="waitForCategoryPageLoad3"/>
149+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewOption(secondStore.name)}}"
150+
stepKey="clickStoreView1"/>
151+
<click selector="{{AdminCategoryMainActionsSection.categoryStoreViewModalAccept}}"
152+
stepKey="clickActionAccept1"/>
153+
<waitForPageLoad stepKey="waitForCategoryPageLoad4"/>
154+
<click selector="{{AdminCategoryProductsSection.sectionHeader}}" stepKey="openProductSection2"/>
155+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct2.name$$)}}"
156+
userInput="$$createProduct2.name$$" stepKey="seeProductName6"/>
157+
<see selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct12.name$$)}}"
158+
userInput="$$createProduct12.name$$" stepKey="seeProductName7"/>
159+
<dontSee selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct0.name$$)}}"
160+
userInput="$$createProduct0.name$$" stepKey="dontSeeProductName2"/>
161+
<dontSee selector="{{AdminCategoryProductsGridSection.productGridNameProduct($$createProduct2.name$$)}}"
162+
userInput="$$createProduct1.name$$" stepKey="dontSeeProductName3"/>
163+
</test>
164+
</tests>

0 commit comments

Comments
 (0)