|
| 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="ConfigureCatalogProductListWidgetSortTest"> |
| 11 | + <annotations> |
| 12 | + <stories value="Configure catalog product list widget sort order in backend and validate it does match in the frontend"/> |
| 13 | + <title value="Configure catalog product list widget sort order in backend and validate it does match in the frontend "/> |
| 14 | + <description value="Configure catalog product list widget sort order in backend and validate it does match in the frontend"/> |
| 15 | + <severity value="MAJOR"/> |
| 16 | + <testCaseId value="AC-5684"/> |
| 17 | + <group value="pagebuilder_disabled"/> |
| 18 | + </annotations> |
| 19 | + <before> |
| 20 | + <actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/> |
| 21 | + </before> |
| 22 | + <after> |
| 23 | + <actionGroup ref="AdminOpenCreateNewCMSPageActionGroup" stepKey="navigateToPageToDeletePage"/> |
| 24 | + <actionGroup ref="DeletePageByUrlKeyActionGroup" stepKey="deleteDisabledPage"> |
| 25 | + <argument name="UrlKey" value="test-cms-page"/> |
| 26 | + </actionGroup> |
| 27 | + <deleteData createDataKey="createCategory" stepKey="deleteCategory"/> |
| 28 | + <deleteData createDataKey="createSimpleProduct1" stepKey="deleteSimpleProduct1"/> |
| 29 | + <deleteData createDataKey="createSimpleProduct2" stepKey="deleteSimpleProduct2"/> |
| 30 | + <deleteData createDataKey="createSimpleProduct3" stepKey="deleteSimpleProduct3"/> |
| 31 | + <actionGroup ref="AdminLogoutActionGroup" stepKey="logoutOfAdmin"/> |
| 32 | + </after> |
| 33 | + <!--Step 1 & 2: create subcategory --> |
| 34 | + <createData entity="SimpleSubCategory" stepKey="createCategory"/> |
| 35 | + <!--Step 3: create 3 simple products assigned to category --> |
| 36 | + <createData entity="_defaultProduct" stepKey="createSimpleProduct1"> |
| 37 | + <requiredEntity createDataKey="createCategory"/> |
| 38 | + </createData> |
| 39 | + <createData entity="_defaultProduct" stepKey="createSimpleProduct2"> |
| 40 | + <requiredEntity createDataKey="createCategory"/> |
| 41 | + </createData> |
| 42 | + <createData entity="_defaultProduct" stepKey="createSimpleProduct3"> |
| 43 | + <requiredEntity createDataKey="createCategory"/> |
| 44 | + </createData> |
| 45 | + <!--Step 4: Navigate to Category--> |
| 46 | + <actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToCategoriesPage"> |
| 47 | + <argument name="menuUiId" value="{{AdminMenuCatalog.dataUiId}}"/> |
| 48 | + <argument name="submenuUiId" value="{{AdminMenuCatalogCategories.dataUiId}}"/> |
| 49 | + </actionGroup> |
| 50 | + <actionGroup ref="AdminCategoriesOpenCategoryActionGroup" stepKey="openCategory"> |
| 51 | + <argument name="category" value="$$createCategory$$"/> |
| 52 | + </actionGroup> |
| 53 | + <scrollTo selector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" stepKey="scrollToProductsInCategorySectionForIndexing"/> |
| 54 | + <!-- Reset the indexes Expanding the Products In category Section --> |
| 55 | + <conditionalClick selector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" dependentSelector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" visible="true" stepKey="expandProductsInCategorySectionForIndexing"/> |
| 56 | + <!-- Step 5, 6 and 7 Set the positions for the products --> |
| 57 | + <click selector="{{AdminCategoryBasicFieldSection.moveProductToFirstIndex('$$createSimpleProduct1.name$$')}}" stepKey="movefirstProdToFirstIndex"/> |
| 58 | + <wait time="1" stepKey="waitForProd1ToShuffleToFirstIndex"/> |
| 59 | + <click selector="{{AdminCategoryBasicFieldSection.moveProductToLastIndex('$$createSimpleProduct3.name$$')}}" stepKey="movefirstProdToLastIndex"/> |
| 60 | + <wait time="1" stepKey="waitForProd3ToShuffleToLastIndex"/> |
| 61 | + |
| 62 | + <!-- Step 8 Save the category --> |
| 63 | + <click selector="{{AdminCategoryBasicFieldSection.saveCategory}}" stepKey="saveTheCategory"/> |
| 64 | + <see selector="{{AdminMessagesSection.success}}" userInput="You saved the category." stepKey="seeSuccessMessageForSavingCategory"/> |
| 65 | + <magentoCLI stepKey="reindexPostSettingTheIndexAscending" command="indexer:reindex"/> |
| 66 | + <magentoCLI stepKey="flushCachePostSettingTheIndexAscending" command="cache:flush"/> |
| 67 | + <!-- Step 9 Navigate to the CMS page and Create a new Page --> |
| 68 | + <actionGroup ref="AdminOpenCreateNewCMSPageActionGroup" stepKey="navigateToPage"/> |
| 69 | + <fillField selector="{{CmsNewPagePageBasicFieldsSection.pageTitle}}" userInput="{{_defaultCmsPage.title}}" stepKey="fillFieldTitle"/> |
| 70 | + <click selector="{{CmsNewPagePageContentSection.header}}" stepKey="clickContentTab" /> |
| 71 | + <actionGroup ref="AdminInsertWidgetToCmsPageContentActionGroup" stepKey="insertWidgetToCmsPageContent"> |
| 72 | + <argument name="widgetType" value="Catalog Products List"/> |
| 73 | + </actionGroup> |
| 74 | + <waitForPageLoad stepKey="waitForPageLoadToSetTheRules"/> |
| 75 | + <selectOption selector="{{AdminNewWidgetSection.displayPageControl}}" userInput="No" stepKey="selectDisplayPageControl"/> |
| 76 | + <click selector="{{AdminNewWidgetSection.addNewCondition}}" stepKey="clickAddNewCondition"/> |
| 77 | + <selectOption selector="{{AdminNewWidgetSection.selectCondition}}" userInput="Magento\CatalogWidget\Model\Rule\Condition\Product|category_ids" stepKey="selectCondition"/> |
| 78 | + <waitForElement selector="{{AdminNewWidgetSection.ruleParameter}}" stepKey="waitRuleParameter"/> |
| 79 | + <click selector="{{AdminNewWidgetSection.ruleParameter}}" stepKey="clickRuleParameter"/> |
| 80 | + <click selector="{{AdminNewWidgetSection.openChooser}}" stepKey="clickChooser"/> |
| 81 | + <waitForPageLoad stepKey="waitForAjaxLoad"/> |
| 82 | + <click selector="{{AdminCategorySidebarTreeSection.categoryInTree('$$createCategory.name$$')}}" stepKey="clickCategoryToEditInitial"/> |
| 83 | + <click selector="{{AdminNewWidgetSection.applyParameter}}" stepKey="clickApplyRuleParameter"/> |
| 84 | + <waitForPageLoad stepKey="waitForPageToLoadPostSavingTheRules"/> |
| 85 | + <click selector="{{AdminNewWidgetSection.btnInsertWidget}}" stepKey="clickInsertWidgetButton"/> |
| 86 | + <waitForPageLoad stepKey="waitForPageToLoadPostInsertingTheWidget"/> |
| 87 | + <click selector="{{CmsNewPagePageActionsSection.savePageBtn}}" stepKey="clickSavePage"/> |
| 88 | + <waitForPageLoad stepKey="waitForPageLoadPostSavingThePage"/> |
| 89 | + <see userInput="You saved the page." stepKey="seeSuccessMessagePostSavingThePage"/> |
| 90 | + <!-- Step 10 Verify the order of the page in the Storefront --> |
| 91 | + <actionGroup ref="StorefrontNavigateToCategoryUrlActionGroup" stepKey="openCategoryPage"> |
| 92 | + <argument name="categoryUrl" value="$$createCategory.custom_attributes[url_key]$$"/> |
| 93 | + </actionGroup> |
| 94 | + <!-- Should see all three products in category in sorted order--> |
| 95 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('1','$$createSimpleProduct1.name$$')}}" stepKey="seeProduct1InPosition1"/> |
| 96 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('2','$$createSimpleProduct2.name$$')}}" stepKey="seeProduct2InPosition2"/> |
| 97 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('3','$$createSimpleProduct3.name$$')}}" stepKey="seeProduct3InPosition3"/> |
| 98 | + <!-- Reset the indexes Navigate to Category--> |
| 99 | + <moveBack stepKey="moveBackToAdminPage"/> |
| 100 | + <actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToCategoriesPageToResetTheIndexes"> |
| 101 | + <argument name="menuUiId" value="{{AdminMenuCatalog.dataUiId}}"/> |
| 102 | + <argument name="submenuUiId" value="{{AdminMenuCatalogCategories.dataUiId}}"/> |
| 103 | + </actionGroup> |
| 104 | + <actionGroup ref="AdminCategoriesOpenCategoryActionGroup" stepKey="openCategoryToResetTheIndexes"> |
| 105 | + <argument name="category" value="$$createCategory$$"/> |
| 106 | + </actionGroup> |
| 107 | + <!-- Reset the indexes Expanding the Products In category Section --> |
| 108 | + <scrollTo selector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" stepKey="scrollToProductsInCategorySectionForResetIndex"/> |
| 109 | + <!-- Reset the indexes Expanding the Products In category Section --> |
| 110 | + <conditionalClick selector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" dependentSelector="{{AdminCategoryBasicFieldSection.expand_collapse_section('closed','Products in Category')}}" visible="true" stepKey="expandProductsInCategorySectionForResettingTheIndex"/> |
| 111 | + <!-- Reset the indexes and Set the positions for the products --> |
| 112 | + <click selector="{{AdminCategoryBasicFieldSection.moveProductToFirstIndex('$$createSimpleProduct3.name$$')}}" stepKey="moveLastProdToFirstIndex"/> |
| 113 | + <wait time="1" stepKey="waitForProd1ToShuffleToLastIndex"/> |
| 114 | + <click selector="{{AdminCategoryBasicFieldSection.moveProductToLastIndex('$$createSimpleProduct1.name$$')}}" stepKey="moveFirstProdToLastIndex"/> |
| 115 | + <wait time="1" stepKey="waitForProd3ToShuffleToFirstIndex"/> |
| 116 | + <!-- Reset the indexes Save the category --> |
| 117 | + <click selector="{{AdminCategoryBasicFieldSection.saveCategory}}" stepKey="saveTheCategoryToResetTheIndexes1"/> |
| 118 | + <see selector="{{AdminMessagesSection.success}}" userInput="You saved the category." stepKey="seeSuccessMessageForSavingCategoryPostResetTheIndex"/> |
| 119 | + <magentoCLI stepKey="reindexPostSettingTheIndexDescending" command="indexer:reindex"/> |
| 120 | + <magentoCLI stepKey="flushCachePostSettingTheIndexDescending" command="cache:flush"/> |
| 121 | + <!-- Reset the indexes Verify the order of the page in the Storefront --> |
| 122 | + <actionGroup ref="StorefrontNavigateToCategoryUrlActionGroup" stepKey="openCategoryPageOnStorefrontToResetTheIndexes"> |
| 123 | + <argument name="categoryUrl" value="$$createCategory.custom_attributes[url_key]$$"/> |
| 124 | + </actionGroup> |
| 125 | + <!-- Should see all three products in category in sorted order according to new indexes --> |
| 126 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('3','$$createSimpleProduct1.name$$')}}" stepKey="seeProduct1InPosition3"/> |
| 127 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('2','$$createSimpleProduct2.name$$')}}" stepKey="seeProduct2InPosition2AsItIs"/> |
| 128 | + <seeElement selector="{{StorefrontCategoryMainSection.productListInCategoryStorefront('1','$$createSimpleProduct3.name$$')}}" stepKey="seeProduct3InPosition1"/> |
| 129 | + <moveBack stepKey="moveBackToAdminPageToDeletePage"/> |
| 130 | + </test> |
| 131 | +</tests> |
0 commit comments