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" xsi : noNamespaceSchemaLocation =" ../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd" >
10
+ <test name =" AdminMoveAnchoredCategoryTest" >
11
+ <annotations >
12
+ <features value =" Category Moving" />
13
+ <title value =" Move Anchored Category with Products" />
14
+ <description value =" You should be able to move a category via categories tree and made changes should be applied on frontend without forced cache cleaning" />
15
+ <severity value =" CRITICAL" />
16
+ <testCaseId value =" MAGETWO-76273" />
17
+ <group value =" category" />
18
+ </annotations >
19
+ <before >
20
+ <createData entity =" SimpleSubCategory" stepKey =" simpleSubCategoryOne" />
21
+ <createData entity =" SimpleSubCategory" stepKey =" simpleSubCategoryTwo" />
22
+ <createData entity =" SubCategoryWithParent" stepKey =" simpleSubCategoryWithParent" >
23
+ <requiredEntity createDataKey =" simpleSubCategoryOne" />
24
+ </createData >
25
+ <createData entity =" _defaultProduct" stepKey =" productOne" >
26
+ <requiredEntity createDataKey =" simpleSubCategoryWithParent" />
27
+ </createData >
28
+ <createData entity =" _defaultProduct" stepKey =" productTwo" >
29
+ <requiredEntity createDataKey =" simpleSubCategoryOne" />
30
+ </createData >
31
+ </before >
32
+ <after >
33
+ <actionGroup ref =" logout" stepKey =" logoutAdminUserAfterTest" />
34
+ <deleteData createDataKey =" productOne" stepKey =" deleteProductOne" />
35
+ <deleteData createDataKey =" productTwo" stepKey =" deleteProductTwo" />
36
+ <deleteData createDataKey =" simpleSubCategoryWithParent" stepKey =" deleteSubcategoryWithParent" />
37
+ <deleteData createDataKey =" simpleSubCategoryTwo" stepKey =" deleteSubcategoryTwo" />
38
+ </after >
39
+ <!-- Move category one to category two-->
40
+ <actionGroup ref =" LoginAsAdmin" stepKey =" loginAsAdmin" />
41
+ <amOnPage url =" {{AdminCategoryPage.url}}" stepKey =" navigateToAdminCategoryPage" />
42
+ <waitForPageLoad stepKey =" waitForAdminCategoryPageLoad1" />
43
+ <actionGroup ref =" MoveCategoryActionGroup" stepKey =" moveSimpleSubCategoryOneToSimpleSubCategoryTwo" >
44
+ <argument name =" childCategory" value =" $$simpleSubCategoryOne.name$$" />
45
+ <argument name =" parentCategory" value =" $$simpleSubCategoryTwo.name$$" />
46
+ </actionGroup >
47
+ <!-- Verify that navigation menu categories level is correct-->
48
+ <amOnPage url =" /" stepKey =" amOnStorefrontPage1" />
49
+ <waitForPageLoad stepKey =" waitForPageToLoadAfterHomePageOpened1" />
50
+ <seeElement selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryTwo.name$$)}}" stepKey =" verifyThatTopCategoryIsSubCategoryTwo" />
51
+ <moveMouseOver selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryTwo.name$$)}}" stepKey =" mouseOverSubCategoryTwo" />
52
+ <waitForAjaxLoad stepKey =" waitForAjaxOnMouseOverSubCategoryTwo" />
53
+ <seeElement selector =" {{StorefrontNavigationSection.subCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" verifyThatFirstLevelIsSubCategoryOne" />
54
+ <moveMouseOver selector =" {{StorefrontNavigationSection.subCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" mouseOverSubCategoryOne" />
55
+ <waitForAjaxLoad stepKey =" waitForAjaxOnMouseOverSubCategoryOne" />
56
+ <seeElement selector =" {{StorefrontNavigationSection.subCategory($$simpleSubCategoryWithParent.name$$)}}" stepKey =" verifyThatSecondLevelIsSubCategoryWithParent1" />
57
+ <!-- Open category one via navigation menu. Verify that subcategory is shown in layered navigation-->
58
+ <click selector =" {{StorefrontNavigationSection.subCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" openSimpleSubCategoryOneByNavigationMenu1" />
59
+ <actionGroup ref =" CheckItemInLayeredNavigationActionGroup" stepKey =" verifySimpleSubCategoryWithParentInLayeredNavigation1" >
60
+ <argument name =" itemType" value =" Category" />
61
+ <argument name =" itemName" value =" $$simpleSubCategoryWithParent.name$$" />
62
+ </actionGroup >
63
+ <!-- Open category one by direct URL. Verify simple product is visible on it. Open this product and perform assertions-->
64
+ <actionGroup ref =" OpenProductFromCategoryPageActionGroup" stepKey =" openFirstProductFromSubCategoryOneCategoryPage1" >
65
+ <argument name =" category" value =" $$simpleSubCategoryOne$$" />
66
+ <argument name =" product" value =" $$productOne$$" />
67
+ </actionGroup >
68
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" Home" stepKey =" seeHomePageInBreadcrumbs1" />
69
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryTwo.name$$" stepKey =" seeSubCategoryTwoInBreadcrumbsOnSubCategoryOne" />
70
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryOneInBreadcrumbsOnSubCategoryOne1" />
71
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$productOne.name$$" stepKey =" seeProductInBreadcrumbsOnSubCategoryOne1" />
72
+ <!-- Open category two by direct URL. Verify simple product is visible on it. Open this product and perform assertions-->
73
+ <actionGroup ref =" OpenProductFromCategoryPageActionGroup" stepKey =" openFirstProductFromSubCategoryWithParentCategoryPage" >
74
+ <argument name =" category" value =" $$simpleSubCategoryWithParent$$" />
75
+ <argument name =" product" value =" $$productOne$$" />
76
+ </actionGroup >
77
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" Home" stepKey =" seeHomePageInBreadcrumbsOnSubCategoryWithParent" />
78
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryTwo.name$$" stepKey =" seeSubCategoryTwoInBreadcrumbsOnSubCategoryWithParent" />
79
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryOneInBreadcrumbsOnSubCategoryWithParent" />
80
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryWithParentInBreadcrumbsOnSubCategoryWithParent" />
81
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$productOne.name$$" stepKey =" seeProductInBreadcrumbsOnSubCategoryWithParent" />
82
+ <!-- Move category one to the same level as category two-->
83
+ <amOnPage url =" {{AdminCategoryPage.url}}" stepKey =" navigateToAdminCategoryPage2" />
84
+ <waitForPageLoad stepKey =" waitForAdminCategoryPageLoad2" />
85
+ <actionGroup ref =" MoveCategoryActionGroup" stepKey =" moveSimpleSubCategoryOneToDefaultCategory" >
86
+ <argument name =" childCategory" value =" $$simpleSubCategoryOne.name$$" />
87
+ <argument name =" parentCategory" value =" Default Category" />
88
+ </actionGroup >
89
+ <!-- Verify that navigation menu categories level is correct-->
90
+ <amOnPage url =" /" stepKey =" amOnStorefrontPage2" />
91
+ <waitForPageLoad stepKey =" waitForPageToLoadAfterHomePageOpened2" />
92
+ <seeElement selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" verifyThatSubCategoryOneIsTopCategory" />
93
+ <seeElement selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryTwo.name$$)}}" stepKey =" verifyThatSubCategoryTwoIsTopCategory" />
94
+ <moveMouseOver selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" mouseOverTopSubCategoryOne" />
95
+ <waitForAjaxLoad stepKey =" waitForAjaxOnMouseOverTopSubCategoryOne" />
96
+ <seeElement selector =" {{StorefrontNavigationSection.subCategory($$simpleSubCategoryWithParent.name$$)}}" stepKey =" verifyThatSecondLevelIsSubCategoryWithParent2" />
97
+ <!-- Open category one via navigation menu. Verify that subcategory is shown in layered navigation-->
98
+ <click selector =" {{StorefrontNavigationSection.topCategory($$simpleSubCategoryOne.name$$)}}" stepKey =" openSimpleSubCategoryOneByNavigationMenu2" />
99
+ <actionGroup ref =" CheckItemInLayeredNavigationActionGroup" stepKey =" verifySimpleSubCategoryWithParentInLayeredNavigation2" >
100
+ <argument name =" itemType" value =" Category" />
101
+ <argument name =" itemName" value =" $$simpleSubCategoryWithParent.name$$" />
102
+ </actionGroup >
103
+ <!-- Open category one by direct URL. Verify simple product is visible on it. Open this product and perform assertions-->
104
+ <actionGroup ref =" OpenProductFromCategoryPageActionGroup" stepKey =" openFirstProductFromSubCategoryOneCategoryPage2" >
105
+ <argument name =" category" value =" $$simpleSubCategoryOne$$" />
106
+ <argument name =" product" value =" $$productOne$$" />
107
+ </actionGroup >
108
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" Home" stepKey =" seeHomePageInBreadcrumbs2" />
109
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryOneInBreadcrumbsOnSubCategoryOne2" />
110
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$productOne.name$$" stepKey =" seeProductInBreadcrumbsOnSubCategoryOne2" />
111
+ <!-- Open category subcategory by direct URL. Verify simple product is visible on it. Open this product and perform assertions-->
112
+ <actionGroup ref =" OpenProductFromCategoryPageActionGroup" stepKey =" openFirstProductFromSubCategoryOneCategoryPage3" >
113
+ <argument name =" category" value =" $$simpleSubCategoryWithParent$$" />
114
+ <argument name =" product" value =" $$productOne$$" />
115
+ </actionGroup >
116
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" Home" stepKey =" seeHomePageInBreadcrumbs3" />
117
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryOneInBreadcrumbsOnSubCategoryOne3" />
118
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$simpleSubCategoryOne.name$$" stepKey =" seeSubCategoryWithParentInBreadcrumbsOnSubCategoryWithParent3" />
119
+ <see selector =" {{StorefrontNavigationSection.breadcrumbs}}" userInput =" $$productOne.name$$" stepKey =" seeProductInBreadcrumbsOnSubCategoryOne3" />
120
+ </test >
121
+ </tests >
0 commit comments