Skip to content

Commit fa21a5d

Browse files
author
Kogut Dmitro
committed
MAGETWO-90117: Automate creating and showing categories and subcategories
1 parent b18698b commit fa21a5d

File tree

6 files changed

+212
-1
lines changed

6 files changed

+212
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
11+
<!--Create a new root category-->
12+
<actionGroup name="AdminCreateRootCategory">
13+
<arguments>
14+
<argument name="categoryEntity" defaultValue="NewRootCategory"/>
15+
</arguments>
16+
<seeInCurrentUrl url="{{AdminCategoryPage.url}}" stepKey="seeOnCategoryPage"/>
17+
<click selector="{{AdminCategorySidebarActionSection.AddRootCategoryButton}}" stepKey="clickOnAddRootCategoryButton"/>
18+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="New Category" stepKey="seeCategoryPageTitle"/>
19+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{categoryEntity.name}}" stepKey="enterNewRootCategoryName"/>
20+
<click selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="openSEO"/>
21+
<fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{categoryEntity.name_lwr}}" stepKey="enterURLKey"/>
22+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveCategory"/>
23+
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskDisappear" />
24+
<seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="assertSuccess"/>
25+
<seeInTitle userInput="{{categoryEntity.name}}" stepKey="seeNewCategoryPageTitle"/>
26+
<seeElement selector="{{AdminCategorySidebarTreeSection.categoryInTree(categoryEntity.name)}}" stepKey="seeCategoryInTree"/>
27+
</actionGroup>
28+
</actionGroups>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Section/AdminCategoryBasicFieldSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
1111
<section name="AdminCategoryBasicFieldSection">
1212
<element name="IncludeInMenu" type="checkbox" selector="input[name='include_in_menu']"/>
13+
<element name="includeInMenuLabel" type="text" selector="input[name='include_in_menu']+label"/>
1314
<element name="EnableCategory" type="checkbox" selector="input[name='is_active']"/>
15+
<element name="enableCategoryLabel" type="text" selector="input[name='is_active']+label"/>
1416
<element name="CategoryNameInput" type="input" selector="input[name='name']"/>
1517
<element name="ContentTab" type="input" selector="input[name='name']"/>
1618
<element name="FieldError" type="text" selector=".admin__field-error[data-bind='attr: {for: {{field}}}, text: error']" parameterized="true"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AdminCreateRootCategoryAndSubcategoriesTest">
12+
<annotations>
13+
<features value="Create Root Category and Subcategory"/>
14+
<title value="You should be able to create Root Category and Subcategory."/>
15+
<description value="You should be able to create Root Category and Subcategory."/>
16+
<severity value="CRITICAL"/>
17+
<testCaseId value="MAGETWO-46142"/>
18+
<group value="category"/>
19+
</annotations>
20+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin1"/>
21+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="amOnAdminCategoryPage"/>
22+
<scrollToTopOfPage stepKey="scrollToTopOfPage1"/>
23+
<waitForPageLoad stepKey="waitForPageLoad1"/>
24+
<!--Create new root category-->
25+
<actionGroup ref="AdminCreateRootCategory" stepKey="createNewRootCategory">
26+
<argument name="categoryEntity" value="NewRootCategory"/>
27+
</actionGroup>
28+
<scrollToTopOfPage stepKey="scrollToTopOfPage2"/>
29+
<!--Create subcategory-->
30+
<actionGroup ref="CreateCategory" stepKey="createSubcategory1">
31+
<argument name="categoryEntity" value="SimpleSubCategory"/>
32+
</actionGroup>
33+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(NewRootCategory.name)}}" stepKey="clickOnCreatedNewRootCategory1"/>
34+
<scrollToTopOfPage stepKey="scrollToTopOfPage3"/>
35+
<!--Create another subcategory-->
36+
<actionGroup ref="CreateCategory" stepKey="createSubcategory2">
37+
<argument name="categoryEntity" value="SubCategoryWithParent"/>
38+
</actionGroup>
39+
<!--Assign new created root category to store-->
40+
<amOnPage url="{{AdminSystemStorePage.url}}" stepKey="amOnPageAdminSystemStore"/>
41+
<waitForPageLoad stepKey="waitForPageAdminSystemStoreLoad" />
42+
<click selector="{{AdminStoresGridSection.resetButton}}" stepKey="clickOnResetButton"/>
43+
<waitForPageLoad time="10" stepKey="waitForPageAdminStoresGridLoadAfterResetButton"/>
44+
<fillField selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="Main Website Store" stepKey="fillFieldOnWebsiteStore"/>
45+
<click selector="{{AdminStoresGridSection.searchButton}}" stepKey="clickOnSearchButton"/>
46+
<waitForPageLoad stepKey="waitForPageAdminStoresGridLoadAfterSearchButton"/>
47+
<click selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" stepKey="clickOnstoreGrpNameInFirstRow"/>
48+
<waitForPageLoad stepKey="waitForPageAdminStoresGroupEditLoad" />
49+
<selectOption userInput="{{NewRootCategory.name}}" selector="{{AdminNewStoreGroupSection.storeRootCategoryDropdown}}" stepKey="selectOptionCreatedNewRootCategory"/>
50+
<click selector="{{AdminNewStoreGroupActionsSection.saveButton}}" stepKey="clickSaveStoreButton"/>
51+
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="clickOkOnModalDialog1"/>
52+
<actionGroup ref="logout" stepKey="logout"/>
53+
<!--Go to storefront and verify created subcategory on frontend-->
54+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontPage"/>
55+
<waitForPageLoad stepKey="waitForPageAdminSystemStoreLoad2"/>
56+
<actionGroup ref="CheckCategoryOnStorefront" stepKey="checkCreatedSubcategory1OnFrontend">
57+
<argument name="categoryEntity" value="SimpleSubCategory"/>
58+
</actionGroup>
59+
<actionGroup ref="CheckCategoryOnStorefront" stepKey="checkCreatedSubcategory2OnFrontend">
60+
<argument name="categoryEntity" value="SubCategoryWithParent"/>
61+
</actionGroup>
62+
<!--Delete all created data during the test execution and assign Default Root Category to Store-->
63+
<after>
64+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin2"/>
65+
<amOnPage url="{{AdminSystemStorePage.url}}" stepKey="amOnPageAdminSystemStore"/>
66+
<waitForPageLoad stepKey="waitForPageAdminSystemStoreLoad" />
67+
<click selector="{{AdminStoresGridSection.resetButton}}" stepKey="clickOnResetButton"/>
68+
<waitForPageLoad time="10" stepKey="waitForPageAdminStoresGridLoadAfterResetButton"/>
69+
<fillField selector="{{AdminStoresGridSection.storeGrpFilterTextField}}" userInput="Main Website Store" stepKey="fillFieldOnWebsiteStore"/>
70+
<click selector="{{AdminStoresGridSection.searchButton}}" stepKey="clickOnSearchButton"/>
71+
<waitForPageLoad stepKey="waitForPageAdminStoresGridLoadAfterSearchButton"/>
72+
<click selector="{{AdminStoresGridSection.storeGrpNameInFirstRow}}" stepKey="clickOnstoreGrpNameInFirstRow"/>
73+
<waitForPageLoad stepKey="waitForPageAdminSystemStoreLoad1" />
74+
<selectOption userInput="Default Category" selector="{{AdminNewStoreGroupSection.storeRootCategoryDropdown}}" stepKey="selectOptionDefaultCategory"/>
75+
<click selector="{{AdminNewStoreGroupActionsSection.saveButton}}" stepKey="clickSaveStoreButton"/>
76+
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="clickOkOnModalDialog2"/>
77+
<actionGroup ref="DeleteCategory" stepKey="deleteCreatedNewRootCategory">
78+
<argument name="categoryEntity" value="NewRootCategory"/>
79+
</actionGroup>
80+
<actionGroup ref="logout" stepKey="logout"/>
81+
</after>
82+
</test>
83+
</tests>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="VerifyChildCategoriesShouldNotIncludeInMenuTest">
12+
<annotations>
13+
<features value="Test child categories should not include in menu"/>
14+
<title value="Test child categories should not include in menu."/>
15+
<description value="Test child categories should not include in menu."/>
16+
<severity value="CRITICAL"/>
17+
<testCaseId value="MAGETWO-72238"/>
18+
<group value="category"/>
19+
</annotations>
20+
<after>
21+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage2"/>
22+
<waitForPageLoad stepKey="waitForPageLoad3"/>
23+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(SimpleSubCategory.name)}}" stepKey="clickOnCreatedSimpleSubCategoryBeforeDelete"/>
24+
<actionGroup ref="DeleteCategory" stepKey="deleteCategory">
25+
<argument name="categoryEntity" value="SimpleSubCategory"/>
26+
</actionGroup>
27+
<actionGroup ref="logout" stepKey="logout"/>
28+
</after>
29+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
30+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage1"/>
31+
<waitForPageLoad stepKey="waitForPageLoad1"/>
32+
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
33+
<!--Create new category under Default Category-->
34+
<actionGroup ref="CreateCategory" stepKey="createSubcategory1">
35+
<argument name="categoryEntity" value="SimpleSubCategory"/>
36+
</actionGroup>
37+
<!--Create another subcategory under created category-->
38+
<actionGroup ref="CreateCategory" stepKey="createSubcategory2">
39+
<argument name="categoryEntity" value="SubCategoryWithParent"/>
40+
</actionGroup>
41+
<!--Go to storefront and verify visibility of categories-->
42+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontPage"/>
43+
<waitForPageLoad stepKey="waitForPageLoad2"/>
44+
<seeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="seeSimpleSubCategoryOnStorefront1"/>
45+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SubCategoryWithParent.name)}}" stepKey="dontSeeSubCategoryWithParentOnStorefront1"/>
46+
<!--Set Include in menu to No on created category under Default Category -->
47+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage2"/>
48+
<waitForPageLoad stepKey="waitForPageLoad3"/>
49+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(SimpleSubCategory.name)}}" stepKey="clickOnCreatedSimpleSubCategory1"/>
50+
<click selector="{{AdminCategoryBasicFieldSection.includeInMenuLabel}}" stepKey="SetNoToIncludeInMenuSelect"/>
51+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="clickSaveButton1"/>
52+
<seeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="seeCheckboxEnableCategoryIsChecked"/>
53+
<dontSeeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.IncludeInMenu}}" stepKey="dontSeeCheckboxIncludeInMenuIsChecked"/>
54+
<!--Go to storefront and verify visibility of categories-->
55+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontPage2"/>
56+
<waitForPageLoad stepKey="waitForPageLoad4"/>
57+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="dontSeeSimpleSubCategoryOnStorefront1"/>
58+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SubCategoryWithParent.name)}}" stepKey="dontSeeSubCategoryWithParentOnStorefront2"/>
59+
<!--Set Enable category to No and Include in menu to Yes on created category under Default Category -->
60+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage3"/>
61+
<waitForPageLoad stepKey="waitForPageLoad5"/>
62+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(SimpleSubCategory.name)}}" stepKey="clickOnCreatedSimpleSubCategory2"/>
63+
<click selector="{{AdminCategoryBasicFieldSection.enableCategoryLabel}}" stepKey="SetNoToEnableCategorySelect"/>
64+
<click selector="{{AdminCategoryBasicFieldSection.includeInMenuLabel}}" stepKey="SetYesToIncludeInMenuSelect"/>
65+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="clickSaveButton2"/>
66+
<dontSeeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="dontSeeCheckboxEnableCategoryIsChecked"/>
67+
<seeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.IncludeInMenu}}" stepKey="seeCheckboxIncludeInMenuIsChecked"/>
68+
<!--Go to storefront and verify visibility of categories-->
69+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontPage3"/>
70+
<waitForPageLoad stepKey="waitForPageLoad6"/>
71+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="dontSeeSimpleSubCategoryOnStorefront2"/>
72+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SubCategoryWithParent.name)}}" stepKey="dontSeeSubCategoryWithParentOnStorefront3"/>
73+
<!--Set Enable category to No and Include in menu to No on created category under Default Category -->
74+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="navigateToCategoryPage4"/>
75+
<waitForPageLoad stepKey="waitForPageLoad7"/>
76+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(SimpleSubCategory.name)}}" stepKey="clickOnCreatedSimpleSubCategory3"/>
77+
<click selector="{{AdminCategoryBasicFieldSection.includeInMenuLabel}}" stepKey="setNoToIncludeInMenuSelect2"/>
78+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="clickSaveButton3"/>
79+
<dontSeeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="dontSeeCheckboxEnableCategoryIsChecked2"/>
80+
<dontSeeCheckboxIsChecked selector="{{AdminCategoryBasicFieldSection.IncludeInMenu}}" stepKey="dontSeeCheckboxIncludeInMenuIsChecked2"/>
81+
<!--Go to storefront and verify visibility of categories-->
82+
<amOnPage url="{{StorefrontHomePage.url}}" stepKey="goToStorefrontPage4"/>
83+
<waitForPageLoad stepKey="waitForPageLoad8"/>
84+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SimpleSubCategory.name)}}" stepKey="dontSeeSimpleSubCategoryOnStorefront3"/>
85+
<dontSeeElement selector="{{StorefrontHeaderSection.NavigationCategoryByName(SubCategoryWithParent.name)}}" stepKey="dontSeeSubCategoryWithParentOnStorefront4"/>
86+
</test>
87+
</tests>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
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" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
9+
<section name="AdminNewStoreGroupActionsSection">
10+
<element name="saveButton" type="button" selector="#save" timeout="30" />
11+
</section>
12+
</sections>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Store/Section/AdminStoresGridSection.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@
1515
<element name="websiteNameInFirstRow" type="text" selector=".col-website_title>a"/>
1616
<element name="storeGrpNameInFirstRow" type="text" selector=".col-group_title>a"/>
1717
<element name="storeNameInFirstRow" type="text" selector=".col-store_title>a"/>
18-
1918
</section>
2019
</sections>

0 commit comments

Comments
 (0)