Skip to content

Commit 35b736d

Browse files
authored
Merge pull request #3600 from magento-pangolin/mtf-eol-pr
[pangolins] Convert MTF tests to MFTF tests
2 parents 1f77329 + 5940619 commit 35b736d

29 files changed

+742
-4
lines changed

app/code/Magento/Catalog/Test/Mftf/Data/CategoryData.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,12 @@
6262
<data key="name" unique="suffix">FifthLevelCategory</data>
6363
<data key="name_lwr" unique="suffix">category</data>
6464
</entity>
65+
<entity name="SimpleRootSubCategory" type="category">
66+
<data key="name" unique="suffix">SimpleRootSubCategory</data>
67+
<data key="name_lwr" unique="suffix">simplerootsubcategory</data>
68+
<data key="is_active">true</data>
69+
<data key="include_in_menu">true</data>
70+
<data key="url_key" unique="suffix">simplerootsubcategory</data>
71+
<var key="parent_id" entityType="category" entityKey="id" />
72+
</entity>
6573
</entities>

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@
481481
<requiredEntity type="custom_attribute">CustomAttributeProductAttribute</requiredEntity>
482482
</entity>
483483
<entity name="defaultSimpleProduct" type="product">
484-
<data key="name" unique="suffix">Test </data>
484+
<data key="name" unique="suffix">Testp</data>
485485
<data key="sku" unique="suffix">testsku</data>
486486
<data key="type_id">simple</data>
487487
<data key="attribute_set_id">4</data>
@@ -497,6 +497,19 @@
497497
<data key="name" unique="suffix">Product With Long Name And Sku - But not too long</data>
498498
<data key="sku" unique="suffix">Product With Long Name And Sku - But not too long</data>
499499
</entity>
500+
<entity name="PaginationProduct" type="product">
501+
<data key="name" unique="suffix">pagi</data>
502+
<data key="sku" unique="suffix">pagisku</data>
503+
<data key="type_id">simple</data>
504+
<data key="attribute_set_id">4</data>
505+
<data key="visibility">4</data>
506+
<data key="price">780.00</data>
507+
<data key="urlKey" unique="suffix">pagiurl-</data>
508+
<data key="status">1</data>
509+
<data key="quantity">50</data>
510+
<data key="weight">5</data>
511+
<requiredEntity type="product_extension_attribute">EavStock100</requiredEntity>
512+
</entity>
500513
<entity name="Magento3" type="image">
501514
<data key="title" unique="suffix">Magento3</data>
502515
<data key="price">1.00</data>

app/code/Magento/Catalog/Test/Mftf/Section/AdminCategoryProductsGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
<element name="rowPosition" type="input" selector="#catalog_category_products_table tbody tr:nth-of-type({{row}}) .col-position .position input" timeout="30" parameterized="true"/>
1717
<element name="productGridNameProduct" type="text" selector="//table[@id='catalog_category_products_table']//td[contains(., '{{productName}}')]" parameterized="true"/>
1818
<element name="productVisibility" type="select" selector="//*[@name='product[visibility]']"/>
19+
<element name="productSelectAll" type="checkbox" selector="input.admin__control-checkbox"/>
1920
</section>
2021
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductGridFilterSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@
3131
<element name="newFromDateFilter" type="input" selector="input.admin__control-text[name='news_from_date[from]']"/>
3232
<element name="keywordSearch" type="input" selector="input#fulltext"/>
3333
<element name="keywordSearchButton" type="button" selector=".data-grid-search-control-wrap button.action-submit" timeout="30"/>
34+
<element name="productCount" type="text" selector="#catalog_category_products-total-count"/>
35+
<element name="productPerPage" type="select" selector="#catalog_category_products_page-limit"/>
3436
</section>
3537
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="AdminProductGridSection">
1111
<element name="productRowBySku" type="block" selector="//div[@id='container']//tr//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]" parameterized="true" />
12+
<element name="productRowCheckboxBySku" type="block" selector="//div[@id='container']//tr//td[count(../../..//th[./*[.='SKU']]/preceding-sibling::th) + 1][./*[.='{{sku}}']]/../td//input[@data-action='select-row']" parameterized="true" />
1213
<element name="loadingMask" type="text" selector=".admin__data-grid-loading-mask[data-component*='product_listing']"/>
1314
<element name="columnHeader" type="button" selector="//div[@data-role='grid-wrapper']//table[contains(@class, 'data-grid')]/thead/tr/th[contains(@class, 'data-grid-th')]/span[text() = '{{label}}']" parameterized="true" timeout="30"/>
1415
<element name="column" type="text" selector="//tr//td[count(//div[@data-role='grid-wrapper']//tr//th[contains(., '{{column}}')]/preceding-sibling::th) +1 ]" parameterized="true"/>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="StorefrontCategoryBottomToolbarSection">
11+
<element name="nextPage" type="button" selector=".//*[@class='toolbar toolbar-products'][2]//a[contains(@class, 'next')]" timeout="30"/>
12+
<element name="previousPage" type="button" selector=".//*[@class='toolbar toolbar-products'][2]//a[contains(@class, 'previous')]" timeout="30"/>
13+
<element name="pageNumber" type="text" selector="//*[@class='toolbar toolbar-products'][2]//a[contains(@class, 'page')]//span[2][contains(text() ,'{{var1}}')]" parameterized="true"/>
14+
<element name="perPage" type="select" selector="//*[@class='toolbar toolbar-products'][2]//select[@id='limiter']"/>
15+
</section>
16+
</sections>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminDeleteRootCategoryAssignedToStoreTest">
11+
<annotations>
12+
<stories value="Delete categories"/>
13+
<title value="Cannot delete root category assigned to some store"/>
14+
<description value="Login as admin and root category can not be deleted when category is assigned with any store."/>
15+
<testCaseId value="MC-6050"/>
16+
<severity value="CRITICAL"/>
17+
<group value="Catalog"/>
18+
<group value="mtf_migrated"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="LoginAsAdmin" stepKey="loginToAdminPanel"/>
22+
<createData entity="NewRootCategory" stepKey="rootCategory" />
23+
</before>
24+
<after>
25+
<actionGroup ref="DeleteCustomStoreActionGroup" stepKey="deleteCreatedStore">
26+
<argument name="storeGroupName" value="customStore.code"/>
27+
</actionGroup>
28+
<deleteData createDataKey="rootCategory" stepKey="deleteRootCategory"/>
29+
<actionGroup ref="logout" stepKey="logout"/>
30+
</after>
31+
<amOnPage url="{{AdminSystemStorePage.url}}" stepKey="amOnAdminSystemStorePage"/>
32+
<waitForPageLoad stepKey="waitForSystemStorePage"/>
33+
<click selector="{{AdminStoresMainActionsSection.createStoreButton}}" stepKey="selectCreateStore"/>
34+
<fillField userInput="{{customStore.name}}" selector="{{AdminNewStoreGroupSection.storeGrpNameTextField}}" stepKey="fillStoreName"/>
35+
<fillField userInput="{{customStore.code}}" selector="{{AdminNewStoreGroupSection.storeGrpCodeTextField}}" stepKey="fillStoreCode"/>
36+
<selectOption userInput="{{NewRootCategory.name}}" selector="{{AdminNewStoreGroupSection.storeRootCategoryDropdown}}" stepKey="selectStoreStatus"/>
37+
<click selector="{{AdminStoresMainActionsSection.saveButton}}" stepKey="clickSaveStoreButton"/>
38+
<see userInput="You saved the store." stepKey="seeSaveMessage"/>
39+
<!--Verify Delete Root Category can not be deleted-->
40+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openAdminCategoryIndexPage1"/>
41+
<waitForPageLoad stepKey="waitForCategoryIndexPageToBeLoaded1"/>
42+
<scrollToTopOfPage stepKey="scrollToTopOfPage2"/>
43+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="expandToSeeAllCategories"/>
44+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(NewRootCategory.name))}}" stepKey="clickRootCategoryInTree"/>
45+
<!--Verify Delete button is not displayed-->
46+
<dontSeeElement selector="{{AdminCategoryMainActionsSection.DeleteButton}}" stepKey="dontSeeDeleteButton"/>
47+
</test>
48+
</tests>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminDeleteRootCategoryTest">
11+
<annotations>
12+
<stories value="Delete categories"/>
13+
<title value="Can delete a root category not assigned to any store"/>
14+
<description value="Login as admin and delete a root category not assigned to any store"/>
15+
<testCaseId value="MC-6048"/>
16+
<severity value="CRITICAL"/>
17+
<group value="Catalog"/>
18+
<group value="mtf_migrated"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="LoginAsAdmin" stepKey="loginToAdminPanel"/>
22+
<createData entity="NewRootCategory" stepKey="rootCategory" />
23+
</before>
24+
<after>
25+
<actionGroup ref="logout" stepKey="logout"/>
26+
</after>
27+
<!--Verify Created root Category-->
28+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openAdminCategoryIndexPage"/>
29+
<waitForPageLoad stepKey="waitForCategoryIndexPageToBeLoaded"/>
30+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="expandToSeeAllCategories"/>
31+
<waitForPageLoad stepKey="waitForPageToLoad"/>
32+
<seeElement selector="{{AdminCategoryBasicFieldSection.CategoryNameInput(NewRootCategory.name)}}" stepKey="seeRootCategory"/>
33+
<!--Delete Root Category-->
34+
<deleteData createDataKey="rootCategory" stepKey="deleteRootCategory"/>
35+
<!--Verify Root Category is not listed in backend-->
36+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openAdminCategoryIndexPage1"/>
37+
<waitForPageLoad stepKey="waitForCategoryIndexPageToBeLoaded1"/>
38+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="expandToSeeAllCategories1"/>
39+
<dontSee selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{NewRootCategory.name}}" stepKey="dontSeeRootCategory"/>
40+
</test>
41+
</tests>
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminDeleteRootSubCategoryTest">
11+
<annotations>
12+
<stories value="Delete categories"/>
13+
<title value="Can delete a subcategory"/>
14+
<description value="Login as admin and delete a root sub category"/>
15+
<testCaseId value="MC-6049"/>
16+
<severity value="CRITICAL"/>
17+
<group value="Catalog"/>
18+
<group value="mtf_migrated"/>
19+
</annotations>
20+
<before>
21+
<actionGroup ref="LoginAsAdmin" stepKey="loginToAdminPanel"/>
22+
<createData entity="NewRootCategory" stepKey="rootCategory" />
23+
<createData entity="SimpleRootSubCategory" stepKey="category">
24+
<requiredEntity createDataKey="rootCategory"/>
25+
</createData>
26+
</before>
27+
<after>
28+
<actionGroup ref="DeleteCustomStoreActionGroup" stepKey="deleteCreatedStore">
29+
<argument name="storeGroupName" value="customStore.code"/>
30+
</actionGroup>
31+
<deleteData createDataKey="rootCategory" stepKey="deleteRootCategory"/>
32+
<actionGroup ref="logout" stepKey="logout"/>
33+
</after>
34+
<!--Create a Store-->
35+
<amOnPage url="{{AdminSystemStorePage.url}}" stepKey="amOnAdminSystemStorePage"/>
36+
<waitForPageLoad stepKey="waitForSystemStorePage"/>
37+
<click selector="{{AdminStoresMainActionsSection.createStoreButton}}" stepKey="selectCreateStore"/>
38+
<fillField userInput="{{customStore.name}}" selector="{{AdminNewStoreGroupSection.storeGrpNameTextField}}" stepKey="fillStoreName"/>
39+
<fillField userInput="{{customStore.code}}" selector="{{AdminNewStoreGroupSection.storeGrpCodeTextField}}" stepKey="fillStoreCode"/>
40+
<selectOption userInput="{{NewRootCategory.name}}" selector="{{AdminNewStoreGroupSection.storeRootCategoryDropdown}}" stepKey="selectStoreStatus"/>
41+
<click selector="{{AdminStoresMainActionsSection.saveButton}}" stepKey="clickSaveStoreButton"/>
42+
<see userInput="You saved the store." stepKey="seeSaveMessage"/>
43+
<!--Create a Store View/>-->
44+
<click selector="{{AdminStoresMainActionsSection.createStoreViewButton}}" stepKey="selectCreateStoreView"/>
45+
<click selector="{{AdminNewStoreSection.storeGrpDropdown}}" stepKey="clickDropDown"/>
46+
<selectOption userInput="{{customStore.name}}" selector="{{AdminNewStoreSection.storeGrpDropdown}}" stepKey="selectStoreViewStatus"/>
47+
<fillField userInput="{{customStore.name}}" selector="{{AdminNewStoreSection.storeNameTextField}}" stepKey="fillStoreViewName"/>
48+
<fillField userInput="{{customStore.code}}" selector="{{AdminNewStoreSection.storeCodeTextField}}" stepKey="fillStoreViewCode"/>
49+
<selectOption selector="{{AdminNewStoreSection.statusDropdown}}" userInput="Enabled" stepKey="enableStatus"/>
50+
<click selector="{{AdminStoresMainActionsSection.saveButton}}" stepKey="clickSaveStoreViewButton"/>
51+
<waitForElementVisible selector="{{AdminConfirmationModalSection.ok}}" stepKey="waitForModal" />
52+
<see selector="{{AdminConfirmationModalSection.title}}" userInput="Warning message" stepKey="seeWarning" />
53+
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="dismissModal" />
54+
<waitForElementNotVisible selector="{{AdminNewStoreViewActionsSection.loadingMask}}" stepKey="waitForElementVisible"/>
55+
<see userInput="You saved the store view." stepKey="seeSaveMessage1"/>
56+
<!--Go To store front page -->
57+
<amOnPage url="/{{NewRootCategory.name}}/{{SimpleRootSubCategory.name}}.html" stepKey="seeTheCategoryInStoreFrontPage"/>
58+
<waitForPageLoad time="60" stepKey="waitForStoreFrontPageLoad"/>
59+
<!--Verify subcategory displayed in store front-->
60+
<click selector="{{StorefrontFooterSection.switchStoreButton}}" stepKey="selectMainWebsite"/>
61+
<click selector="{{StorefrontFooterSection.storeLink(customStore.name)}}" stepKey="selectMainWebsite1"/>
62+
<waitForPageLoad stepKey="waitForCategoryToLoad"/>
63+
<seeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleRootSubCategory.name)}}" stepKey="seeSubCategoryInStoreFront"/>
64+
<!--Delete SubCategory-->
65+
<deleteData createDataKey="category" stepKey="deleteCategory"/>
66+
<!--Verify Sub Category is absent in backend -->
67+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="openAdminCategoryIndexPage"/>
68+
<waitForPageLoad stepKey="waitForCategoryIndexPageToBeLoaded"/>
69+
<click selector="{{AdminCategorySidebarTreeSection.expandAll}}" stepKey="expandToSeeAllCategories2"/>
70+
<dontSee selector="{{AdminCategorySidebarTreeSection.categoryInTree(SimpleRootSubCategory.name)}}" stepKey="dontSeeCategoryInTree"/>
71+
<!--Verify Sub Category is not present in Store Front-->
72+
<amOnPage url="/{{NewRootCategory.name}}/{{SimpleSubCategory.name}}.html" stepKey="seeTheCategoryInStoreFrontPage1"/>
73+
<waitForPageLoad time="60" stepKey="waitForStoreFrontPageLoad2"/>
74+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="dontSeeSubCategoryInStoreFront"/>
75+
<!--Verify in Category is not in Url Rewrite grid-->
76+
<amOnPage url="{{AdminUrlRewriteIndexPage.url}}" stepKey="openUrlRewriteIndexPage"/>
77+
<waitForPageLoad stepKey="waitForUrlRewritePageTopLoad"/>
78+
<fillField selector="{{AdminUrlRewriteIndexSection.requestPathFilter}}" userInput="{{SimpleRootSubCategory.url_key}}" stepKey="fillRequestPath"/>
79+
<click selector="{{AdminUrlRewriteIndexSection.searchButton}}" stepKey="clickOnSearchButton"/>
80+
<see selector="{{AdminUrlRewriteIndexSection.emptyRecordMessage}}" userInput="We couldn't find any records." stepKey="seeEmptyRow"/>
81+
</test>
82+
</tests>

0 commit comments

Comments
 (0)