Skip to content

Commit be61d85

Browse files
glo74170Manjusha.S
authored andcommitted
MC-27423 : Create Categories with the same category names
1 parent b64408d commit be61d85

File tree

3 files changed

+159
-0
lines changed

3 files changed

+159
-0
lines changed

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,4 +279,28 @@
279279
<var key="category_id" entityKey="id" entityType="category"/>
280280
<var key="sku" entityKey="sku" entityType="product"/>
281281
</entity>
282+
<entity name="NewCategory" type="category">
283+
<data key="name" unique="suffix">NewCategory</data>
284+
<data key="name_lwr" unique="suffix">newcategory</data>
285+
<data key="urlKey" unique="suffix">newcategory</data>
286+
<data key="is_active">true</data>
287+
<data key="include_in_menu">true</data>
288+
<data key="parent_id">1</data>
289+
</entity>
290+
<entity name="Category1" type="category">
291+
<data key="name" unique="suffix">Category1</data>
292+
<data key="name_lwr" unique="suffix">category1</data>
293+
<data key="urlKey" unique="suffix">category1</data>
294+
<data key="is_active">true</data>
295+
<data key="include_in_menu">true</data>
296+
<data key="parent_id">1</data>
297+
</entity>
298+
<entity name="Category2" type="category">
299+
<data key="name" unique="suffix">Category2</data>
300+
<data key="name_lwr" unique="suffix">category2</data>
301+
<data key="urlKey" unique="suffix">category2</data>
302+
<data key="is_active">true</data>
303+
<data key="include_in_menu">true</data>
304+
<data key="parent_id">1</data>
305+
</entity>
282306
</entities>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@
2424
<element name="productsInCategory" type="input" selector="div[data-index='assign_products']" timeout="30"/>
2525
<element name="scheduleDesignUpdateTab" type="block" selector="div[data-index='schedule_design_update']" timeout="15"/>
2626
<element name="categoryNameRequiredField" type="text" selector="//label[@class='admin__field-error' and contains(text(),'This is a required field.')]" timeout="15"/>
27+
<element name="errorMessages" type="text" selector="//h4[contains(text(),'The value specified in the URL Key field would generate a URL that already exists.')]" timeout="15"/>
2728
</section>
2829
</sections>
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
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="AdminCreateCategoriesWithTheSameCategoryNamesTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Create categories with the same category names"/>
15+
<title value="Create categories with the same category names"/>
16+
<description value="Verify that it's possible to create categories with the same URL keys, but only if they will have different URL paths"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MC-27423"/>
19+
<group value="Catalog"/>
20+
</annotations>
21+
22+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
23+
24+
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="amOnAdminCategoryPage"/>
25+
<scrollToTopOfPage stepKey="scrollToTopOfPage1"/>
26+
<waitForPageLoad stepKey="waitForPageLoad1"/>
27+
<!--Create subcategory-->
28+
<actionGroup ref="CreateCategoryActionGroup" stepKey="createSubcategory1">
29+
<argument name="categoryEntity" value="NewCategory"/>
30+
</actionGroup>
31+
32+
<!--Open the root category and add subcategory with same name. Save category.-->
33+
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="amOnAdminCategoryPage1"/>
34+
<waitForPageLoad stepKey="waitForPageLoad2"/>
35+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategory"/>
36+
<checkOption selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="enableNewCategory"/>
37+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{NewCategory.name}}" stepKey="fillSameSubCategoryName"/>
38+
<actionGroup ref="AdminSaveCategoryActionGroup" stepKey="saveSameSubCategoryFirstTime"/>
39+
<seeElement selector="{{AdminCategoryBasicFieldSection.errorMessages}}" stepKey="validateErrorMessages"/>
40+
<actionGroup ref="AdminSaveCategoryActionGroup" stepKey="saveSameSubCategoryAgain"/>
41+
<seeElement selector="{{AdminCategoryBasicFieldSection.errorMessages}}" stepKey="validateSameErrorMessages"/>
42+
43+
<!--Create category1/NewCategory-->
44+
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="amOnAdminCategoryPage2"/>
45+
<waitForPageLoad stepKey="waitForPageLoadAgain"/>
46+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategoryButton1"/>
47+
<actionGroup ref="CreateCategoryActionGroup" stepKey="createNewSubcategory1">
48+
<argument name="categoryEntity" value="Category1"/>
49+
</actionGroup>
50+
<click selector="{{Category1.name}}" stepKey="clickOnCreateCategory1"/>
51+
<waitForPageLoad stepKey="waitForCategory1PageLoad"/>
52+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategory1Button"/>
53+
<checkOption selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="enableCategory1"/>
54+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{NewCategory.name}}" stepKey="fillFirstSubCategoryName"/>
55+
<actionGroup ref="AdminSaveCategoryActionGroup" stepKey="saveFirstSubCategory"/>
56+
57+
<!-- Verify success message -->
58+
<actionGroup ref="AssertAdminCategorySaveSuccessMessageActionGroup" stepKey="assertSuccessMessage"/>
59+
60+
<!--Create category2/NewCategory-->
61+
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="amOnAdminCategoryPage3"/>
62+
<waitForPageLoad stepKey="waitForCategory2PageLoad"/>
63+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategoryButton2"/>
64+
<actionGroup ref="CreateCategoryActionGroup" stepKey="createNewSubcategory2">
65+
<argument name="categoryEntity" value="Category2"/>
66+
</actionGroup>
67+
<click selector="{{Category2.name}}" stepKey="clickOnCreateCategory2"/>
68+
<waitForPageLoad stepKey="waitForPageLoad3"/>
69+
<click selector="{{AdminCategorySidebarActionSection.AddSubcategoryButton}}" stepKey="clickOnAddSubCategory2Button"/>
70+
<checkOption selector="{{AdminCategoryBasicFieldSection.EnableCategory}}" stepKey="enableCategory2"/>
71+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{NewCategory.name}}" stepKey="fillSecondSubCategoryName"/>
72+
<actionGroup ref="AdminSaveCategoryActionGroup" stepKey="saveSecondSubCategory"/>
73+
74+
<!-- Verify success message -->
75+
<actionGroup ref="AssertAdminCategorySaveSuccessMessageActionGroup" stepKey="assertSuccessMessage1"/>
76+
77+
<!--Go to store front page-->
78+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openHomepage"/>
79+
80+
<!-- Check on storefront that category was created, Its URL path is '.../new.html' -->
81+
<actionGroup ref="StorefrontNavigateToCategoryUrlActionGroup" stepKey="goToCategoryStorefrontPage1">
82+
<argument name="categoryUrl" value="{{NewCategory.urlKey}}"/>
83+
</actionGroup>
84+
<see userInput="{{NewCategory.name}}" selector="{{StorefrontCategoryMainSection.CategoryTitle}}" stepKey="assertCategoryNewHtmlOnStorefront"/>
85+
86+
<!-- Check on storefront that category was created, Its URL path is '.../cat1/new.html'-->
87+
<amOnPage url="/{{Category1.name}}/{{NewCategory.name}}.html" stepKey="goToConfigProductPage1"/>
88+
<seeElement selector="{{StorefrontCategoryMainSection.CategoryTitle}}" stepKey="assertCategoryCat1NewHtmlOnStorefront"/>
89+
90+
<!--Check on storefront that category was created, Its URL path is '.../cat2/new.html'-->
91+
<amOnPage url="/{{Category2.name}}/{{NewCategory.name}}.html" stepKey="goToConfigProductPage2"/>
92+
<seeElement selector="{{StorefrontCategoryMainSection.CategoryTitle}}" stepKey="assertCategoryCat2NewHtmlOnStorefront"/>
93+
94+
<after>
95+
<!-- delete NewCategory -->
96+
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="goToCategoryPage1"/>
97+
<wait stepKey="k3" time="100"/>
98+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(Category2.name)}}" stepKey="clickCategoryLink"/>
99+
<click selector="{{AdminCategoryMainActionsSection.DeleteButton}}" stepKey="clickDelete"/>
100+
<waitForElementVisible selector="{{AdminCategoryModalSection.message}}" stepKey="waitForConfirmationModal"/>
101+
<see selector="{{AdminCategoryModalSection.message}}" userInput="Are you sure you want to delete this category?" stepKey="seeDeleteConfirmationMessage"/>
102+
<click selector="{{AdminCategoryModalSection.ok}}" stepKey="confirmDelete"/>
103+
<waitForPageLoad time="60" stepKey="waitForDeleteToFinish"/>
104+
<see selector="You deleted the category." stepKey="seeDeleteSuccess"/>
105+
<actionGroup ref="AdminExpandCategoryTreeActionGroup" stepKey="expandToSeeAllCategories"/>
106+
<dontSee selector="{{AdminCategorySidebarTreeSection.categoryInTree(Category2.name)}}" stepKey="dontSeeCategoryInTree"/>
107+
108+
<!-- delete Category1 -->
109+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(Category1.name)}}" stepKey="clickCategoryLink1"/>
110+
<click selector="{{AdminCategoryMainActionsSection.DeleteButton}}" stepKey="clickDelete1"/>
111+
<waitForElementVisible selector="{{AdminCategoryModalSection.message}}" stepKey="waitForConfirmationModal1"/>
112+
<see selector="{{AdminCategoryModalSection.message}}" userInput="Are you sure you want to delete this category?" stepKey="seeDeleteConfirmationMessage1"/>
113+
<click selector="{{AdminCategoryModalSection.ok}}" stepKey="confirmDelete1"/>
114+
<waitForPageLoad time="60" stepKey="waitForDeleteToFinish1"/>
115+
<see selector="You deleted the category." stepKey="seeDeleteSuccess1"/>
116+
<actionGroup ref="AdminExpandCategoryTreeActionGroup" stepKey="expandToSeeAllCategories1"/>
117+
<dontSee selector="{{AdminCategorySidebarTreeSection.categoryInTree(Category1.name)}}" stepKey="dontSeeCategoryInTree1"/>
118+
119+
<!-- delete Category2 -->
120+
<click selector="{{AdminCategorySidebarTreeSection.categoryInTree(NewCategory.name)}}" stepKey="clickCategoryLink2"/>
121+
<click selector="{{AdminCategoryMainActionsSection.DeleteButton}}" stepKey="clickDelete2"/>
122+
<waitForElementVisible selector="{{AdminCategoryModalSection.message}}" stepKey="waitForConfirmationModal2"/>
123+
<see selector="{{AdminCategoryModalSection.message}}" userInput="Are you sure you want to delete this category?" stepKey="seeDeleteConfirmationMessage2"/>
124+
<click selector="{{AdminCategoryModalSection.ok}}" stepKey="confirmDelete2"/>
125+
<waitForPageLoad time="60" stepKey="waitForDeleteToFinish2"/>
126+
<see selector="You deleted the category." stepKey="seeDeleteSuccess2"/>
127+
<actionGroup ref="AdminExpandCategoryTreeActionGroup" stepKey="expandToSeeAllCategories2"/>
128+
<dontSee selector="{{AdminCategorySidebarTreeSection.categoryInTree(NewCategory.name)}}" stepKey="dontSeeCategoryInTree2"/>
129+
130+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
131+
</after>
132+
133+
</test>
134+
</tests>

0 commit comments

Comments
 (0)