Skip to content

Commit 851449a

Browse files
ACQE-8247: Move and Update Category on Store View level when Category Flat Indexer is in Update on Schedule mode
- Updated selectors to use predefined selectors
1 parent 83becd7 commit 851449a

File tree

1 file changed

+75
-59
lines changed

1 file changed

+75
-59
lines changed

app/code/Magento/Catalog/Test/Mftf/Test/AdminMoveAndUpdateCategoryOnIndexerUpdateOnScheduleModeTest.xml

Lines changed: 75 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
<features value="Catalog"/>
1313
<stories value="Move and Update Category on Store View level"/>
1414
<title
15-
value="Move and Update Category on Store View level when Category Flat Indexer is in Update on Schedule mode"/>
15+
value="Move and Update Category on Store View level when Category Flat Indexer is in Update on Schedule mode"/>
1616
<description
17-
value="The test verifies that categories work properly on Storefront when Catalog Flat indexer is turned on and in Update on Schedule mode. The test verifies that in Update on Schedule mode if displaying of category products on Storefront changes, the changes are NOT applied immediately, but applied only after cron runs (twice)."/>
17+
value="The test verifies that categories work properly on Storefront when Catalog Flat indexer is turned on and in Update on Schedule mode. The test verifies that in Update on Schedule mode if displaying of category products on Storefront changes, the changes are NOT applied immediately, but applied only after cron runs (twice)."/>
1818
<severity value="MAJOR"/>
1919
<testCaseId value="AC-4172"/>
2020
<group value="catalog"/>
@@ -115,106 +115,108 @@
115115
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdminPanel"/>
116116
</after>
117117
<!-- Step 1:- Open Category A on Storefront -->
118-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup" stepKey="navigateToStorefrontCategoryAInitially">
119-
<argument name="category" value="$createAnchorCategoryA$"/>
118+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup" stepKey="navigateToStorefrontCategoryAInitially">
119+
<argument name="categoryName" value="$createAnchorCategoryA.name$"/>
120120
</actionGroup>
121-
<waitForElementVisible selector="//img[contains(@src,'magento-logo')]"
121+
<waitForElementVisible selector="{{StorefrontCategoryMainSection.categoryImage}}"
122122
stepKey="verifyImageVisibleOnCategoryAPage"/>
123-
<waitForText userInput="Updated CategoryA Description" selector="//div[@class='category-description']"
123+
<waitForText userInput="Updated CategoryA Description"
124+
selector="{{StorefrontCategoryMainSection.CatalogDescriptionWithoutPTag}}"
124125
stepKey="verifyDescriptionOnCategoryAPage"/>
125-
<waitForElement selector="//head//meta[@name='title' and @content='MetaAtitle']"
126+
<waitForElement selector="{{StorefrontCategoryHeadSection.pageTitle('MetaAtitle')}}"
126127
stepKey="verifyMetaTitleOnCategoryAPage"/>
127-
<waitForText userInput="2" selector="#toolbar-amount span"
128+
<waitForText userInput="2" selector="{{StorefrontCategoryMainSection.productCount}}"
128129
stepKey="verifyProductCountOnCategoryAPageInitially"/>
129130
<!-- Step 2:- Open Category C on Storefront -->
130-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup" stepKey="navigateToStorefrontCategoryCInitially">
131-
<argument name="category" value="$createNonAnchorCategoryC$"/>
131+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup" stepKey="navigateToStorefrontCategoryCInitially">
132+
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
132133
</actionGroup>
133-
<waitForElementVisible selector="//img[contains(@src,'magento-logo')]"
134+
<waitForElementVisible selector="{{StorefrontCategoryMainSection.categoryImage}}"
134135
stepKey="verifyImageVisibleOnCategoryCPage"/>
135-
<waitForText userInput="Updated CategoryC Description" selector="//div[@class='category-description']"
136+
<waitForText userInput="Updated CategoryC Description"
137+
selector="{{StorefrontCategoryMainSection.CatalogDescriptionWithoutPTag}}"
136138
stepKey="verifyDescriptionOnCategoryCPage"/>
137-
<waitForElement selector="//head//meta[@name='title' and @content='MetaCtitle']"
139+
<waitForElement selector="{{StorefrontCategoryHeadSection.pageTitle('MetaCtitle')}}"
138140
stepKey="verifyMetaTitleOnCategoryCPage"/>
139-
<waitForText userInput="1" selector="#toolbar-amount span"
141+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
140142
stepKey="verifyProductCountOnCategoryCPageInitially"/>
141143
<!-- Step 3:- Open Admin > Catalog > Categories -->
142144
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="navigateToAdminCategoryPageForFirstMove"/>
143145
<!-- Step 4:- Move Category A under Category C -->
144146
<actionGroup ref="MoveCategoryActionGroup" stepKey="moveCategoryAUnderCategoryC">
145-
<argument name="childCategory" value="$createAnchorCategoryA$"/>
146-
<argument name="parentCategory" value="$createNonAnchorCategoryC$"/>
147+
<argument name="childCategory" value="$createAnchorCategoryA.name$"/>
148+
<argument name="parentCategory" value="$createNonAnchorCategoryC.name$"/>
147149
</actionGroup>
148150
<waitForText userInput="You moved the category." selector=".page-content .message-success"
149151
stepKey="verifySuccessMessageForFirstCategoryMove"/>
150152
<!-- Step 5:- Open Admin > System > Index Management -->
151153
<actionGroup ref="AdminOpenIndexManagementPageActionGroup"
152154
stepKey="navigateToIndexManagementPageAfterFirstMove"/>
153155
<see userInput="Ready"
154-
selector="//tr[descendant::td[contains(., 'Category Flat Data')]]//*[contains(@class, 'col-indexer_status')]/span"
156+
selector="{{AdminIndexManagementSection.indexerStatus('Category Flat Data')}}"
155157
stepKey="verifyCategoryFlatIndexerReadyAfterFirstMove"/>
156158
<!-- Step 6:- Open Category A on Storefront -->
157-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup"
159+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup"
158160
stepKey="navigateToStorefrontCategoryAAfterFirstMove">
159-
<argument name="category" value="$createAnchorCategoryA$"/>
161+
<argument name="categoryName" value="$createAnchorCategoryA.name$"/>
160162
</actionGroup>
161-
<waitForText userInput="2" selector="#toolbar-amount span"
163+
<waitForText userInput="2" selector="{{StorefrontCategoryMainSection.productCount}}"
162164
stepKey="verifyProductCountOnCategoryAAfterFirstMove"/>
163165
<!-- Step 7:- Open Category C on Storefront -->
164-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup"
166+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup"
165167
stepKey="navigateToStorefrontCategoryCAfterFirstMove">
166-
<argument name="category" value="$createNonAnchorCategoryC$"/>
168+
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
167169
</actionGroup>
168-
<waitForText userInput="1" selector="#toolbar-amount span"
170+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
169171
stepKey="verifyProductCountOnCategoryCAfterFirstMove"/>
170172
<!-- Step 8:- Run cron twice to reindex -->
171173
<magentoCron groups="index" stepKey="runFirstCronAfterFirstMove"/>
172174
<magentoCron groups="index" stepKey="runSecondCronAfterFirstMove"/>
173175
<!-- Step 9:- Open Category C on Storefront -->
174-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup"
176+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup"
175177
stepKey="navigateToStorefrontCategoryCAfterFirstCron">
176-
<argument name="category" value="$createNonAnchorCategoryC$"/>
178+
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
177179
</actionGroup>
178-
<waitForText userInput="1" selector="#toolbar-amount span"
180+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
179181
stepKey="verifyProductCountOnCategoryCAfterFirstCron"/>
180182
<!-- Step 10:- Open Admin > Catalog > Categories -->
181183
<actionGroup ref="AdminOpenCategoryPageActionGroup" stepKey="navigateToAdminCategoryPageForSecondMove"/>
182184
<!-- Step 11:- Move Category B under Category C -->
183185
<actionGroup ref="MoveCategoryActionGroup" stepKey="moveCategoryBUnderCategoryC">
184-
<argument name="childCategory" value="$createSubCategoryB$"/>
185-
<argument name="parentCategory" value="$createNonAnchorCategoryC$"/>
186+
<argument name="childCategory" value="$createSubCategoryB.name$"/>
187+
<argument name="parentCategory" value="$createNonAnchorCategoryC.name$"/>
186188
</actionGroup>
187189
<waitForText userInput="You moved the category." selector=".page-content .message-success"
188190
stepKey="verifySuccessMessageForSecondCategoryMove"/>
189191
<!-- Step 12:- Move Category A under Category B -->
190192
<actionGroup ref="MoveCategoryActionGroup" stepKey="moveCategoryAUnderCategoryB">
191-
<argument name="childCategory" value="$createAnchorCategoryA$"/>
192-
<argument name="parentCategory" value="$createSubCategoryB$"/>
193+
<argument name="childCategory" value="$createAnchorCategoryA.name$"/>
194+
<argument name="parentCategory" value="$createSubCategoryB.name$"/>
193195
</actionGroup>
194196
<waitForText userInput="You moved the category." selector=".page-content .message-success"
195197
stepKey="verifySuccessMessageForThirdCategoryMove"/>
196198
<!-- Step 13:- Open Category C on Storefront -->
197-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup"
199+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup"
198200
stepKey="navigateToStorefrontCategoryCAfterSecondMove">
199-
<argument name="category" value="$createNonAnchorCategoryC$"/>
201+
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
200202
</actionGroup>
201-
<waitForText userInput="1" selector="#toolbar-amount span"
203+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
202204
stepKey="verifyProductCountOnCategoryCAfterSecondMove"/>
203205
<!-- Step 14:- Run cron twice to reindex -->
204206
<magentoCron groups="index" stepKey="runFirstCronAfterSecondMove"/>
205207
<magentoCron groups="index" stepKey="runSecondCronAfterSecondMove"/>
206208
<!-- Step 15:- Open Category C on Storefront -->
207-
<actionGroup ref="StorefrontNavigateCategoryPageActionGroup"
209+
<actionGroup ref="StorefrontGoToCategoryPageActionGroup"
208210
stepKey="navigateToStorefrontCategoryCAfterSecondCron">
209-
<argument name="category" value="$createNonAnchorCategoryC$"/>
211+
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
210212
</actionGroup>
211-
<waitForText userInput="1" selector="#toolbar-amount span"
213+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
212214
stepKey="verifyProductCountOnCategoryCAfterSecondCron"/>
213215
<!-- Step 16:- Create an additional store in Admin > Stores > All Stores -->
214216
<actionGroup ref="CreateCustomStoreActionGroup" stepKey="createCustomStoreForTesting">
215-
<argument name="website" value="{{_defaultWebsite}}"/>
216-
<argument name="store" value="{{customStore}}"/>
217-
<argument name="rootCategory" value="{{_defaultCategory}}"/>
217+
<argument name="website" value="{{_defaultWebsite.name}}"/>
218+
<argument name="store" value="{{customStore.name}}"/>
219+
<argument name="rootCategory" value="{{DefaultCategory.name}}"/>
218220
</actionGroup>
219221
<!-- Step 17:- Create a store view for the new store in Admin > Stores > All Stores -->
220222
<actionGroup ref="AdminCreateStoreViewActionGroup" stepKey="createCustomStoreViewForTesting">
@@ -226,7 +228,7 @@
226228
<actionGroup ref="AdminOpenIndexManagementPageActionGroup"
227229
stepKey="navigateToIndexManagementPageAfterStoreCreation"/>
228230
<see userInput="Ready"
229-
selector="//tr[descendant::td[contains(., 'Category Flat Data')]]//*[contains(@class, 'col-indexer_status')]/span"
231+
selector="{{AdminIndexManagementSection.indexerStatus('Category Flat Data')}}"
230232
stepKey="verifyCategoryFlatIndexerReadyAfterStoreCreation"/>
231233
<!-- Step 18:- Open Admin > Catalog > Categories > Category A, switch to Store View 2, and update category settings -->
232234
<actionGroup ref="GoToAdminCategoryPageByIdActionGroup" stepKey="navigateToAdminCategoryAForStoreViewUpdate">
@@ -242,41 +244,55 @@
242244
<actionGroup ref="AdminUpdateCategoryDescriptionActionGroup" stepKey="changeCategoryDescriptionOnStoreView">
243245
<argument name="description" value="Другое описание категории А"/>
244246
</actionGroup>
245-
<actionGroup ref="ChangeSeoUrlKeyForSubCategoryActionGroup" stepKey="changeCategoryUrlKeyOnStoreView">
246-
<argument name="value" value="kategoriya-A"/>
247-
</actionGroup>
248247
<actionGroup ref="AdminUpdateCategoryMetaInformationActionGroup" stepKey="changeCategoryMetaTitleOnStoreView">
249248
<argument name="metaTitle" value="Meta A Store View"/>
250249
</actionGroup>
251-
<actionGroup ref="AdminSaveCategoryActionGroup" stepKey="saveCategoryAWithStoreViewSettings"/>
252-
<!-- Step 19:- Open Store 2 on Storefront and open Category A -->
253-
<actionGroup ref="StorefrontOpenStoreViewActionGroup" stepKey="openCustomStoreViewOnStorefront">
254-
<argument name="storeView" value="customStoreView"/>
250+
<actionGroup ref="ChangeSeoUrlKeyForSubCategoryActionGroup" stepKey="changeCategoryUrlKeyOnStoreView">
251+
<argument name="value" value="kategoriya-A"/>
252+
</actionGroup>
253+
<!-- Step 19:- Switch to custom store and verify OLD (English) content before cron -->
254+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openStorefrontHomePage"/>
255+
<actionGroup ref="StorefrontSwitchStoreActionGroup" stepKey="switchToCustomStoreFirst">
256+
<argument name="storeName" value="{{customStore.name}}"/>
255257
</actionGroup>
258+
<magentoCLI command="cache:flush" stepKey="flushCacheAfterStoreSwitch"/>
259+
<waitForPageLoad stepKey="waitForStoreSwitchComplete"/>
260+
<!-- Navigate to category A on the custom store and verify OLD content (English) -->
256261
<actionGroup ref="StorefrontGoToSubSubCategoryPageActionGroup"
257-
stepKey="navigateToStorefrontCategoryAOnCustomStoreView">
262+
stepKey="navigateToStorefrontCategoryAOnCustomStore">
258263
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
259264
<argument name="subCategoryName" value="$createSubCategoryB.name$"/>
260-
<argument name="subSubCategoryName" value="Категория А"/>
265+
<argument name="subSubCategoryName" value="$createAnchorCategoryA.name$"/>
261266
</actionGroup>
262-
<waitForElementVisible selector="//img[contains(@src,'magento-again')]"
263-
stepKey="verifyCustomImageVisibleOnCategoryAStoreView"/>
264-
<waitForText userInput="Другое описание категории А" selector="//div[@class='category-description']"
265-
stepKey="verifyCustomDescriptionOnCategoryAStoreView"/>
266-
<waitForElement selector="//head//meta[@name='title' and @content='Meta A Store View']"
267-
stepKey="verifyCustomMetaTitleOnCategoryAStoreView"/>
268-
<waitForText userInput="1" selector="#toolbar-amount span"
267+
<!-- Verify OLD content (English) - before cron runs -->
268+
<waitForElementVisible selector="{{StorefrontCategoryMainSection.categoryImage}}"
269+
stepKey="verifyOldImageVisibleOnCategoryAStoreView"/>
270+
<waitForText userInput="Updated CategoryA Description"
271+
selector="{{StorefrontCategoryMainSection.CatalogDescriptionWithoutPTag}}"
272+
stepKey="verifyOldDescriptionOnCategoryAStoreView"/>
273+
<waitForElement selector="{{StorefrontCategoryHeadSection.pageTitle('MetaAtitle')}}"
274+
stepKey="verifyOldMetaTitleOnCategoryAStoreView"/>
275+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
269276
stepKey="verifyProductCountOnCategoryAStoreViewInitially"/>
270-
<!-- Step 20:- Run cron twice to reindex and open Category A again on Store 2 storefront -->
277+
278+
<!-- Step 20:- Run cron twice to reindex and verify NEW (Russian) content -->
271279
<magentoCron groups="index" stepKey="runFirstCronAfterStoreViewUpdate"/>
272280
<magentoCron groups="index" stepKey="runSecondCronAfterStoreViewUpdate"/>
273281
<actionGroup ref="StorefrontGoToSubSubCategoryPageActionGroup"
274282
stepKey="navigateToStorefrontCategoryAOnCustomStoreViewAfterCron">
275283
<argument name="categoryName" value="$createNonAnchorCategoryC.name$"/>
276284
<argument name="subCategoryName" value="$createSubCategoryB.name$"/>
277-
<argument name="subSubCategoryName" value="Категория А"/>
285+
<argument name="subSubCategoryName" value="$createAnchorCategoryA.name$"/>
278286
</actionGroup>
279-
<waitForText userInput="1" selector="#toolbar-amount span"
287+
<!-- Verify NEW content (Russian) - after cron runs -->
288+
<waitForElementVisible selector="{{StorefrontCategoryMainSection.categoryImage}}"
289+
stepKey="verifyNewImageVisibleOnCategoryAStoreView"/>
290+
<waitForText userInput="Другое описание категории А"
291+
selector="{{StorefrontCategoryMainSection.CatalogDescriptionWithoutPTag}}"
292+
stepKey="verifyNewDescriptionOnCategoryAStoreView"/>
293+
<waitForElement selector="{{StorefrontCategoryHeadSection.pageTitle('Meta A Store View')}}"
294+
stepKey="verifyNewMetaTitleOnCategoryAStoreView"/>
295+
<waitForText userInput="1" selector="{{StorefrontCategoryMainSection.productCount}}"
280296
stepKey="verifyProductCountOnCategoryAStoreViewAfterCron"/>
281297
</test>
282298
</tests>

0 commit comments

Comments
 (0)