You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

107 lines
7.2 KiB

  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="StorefrontDropdownAttributeInLayeredNavigationTest">
  11. <annotations>
  12. <features value="LayeredNavigation"/>
  13. <stories value="Product attributes in Layered Navigation"/>
  14. <title value="[ES] Search with Layered Navigation and different types of attribute products."/>
  15. <description value="Filtering by dropdown attribute in Layered navigation"/>
  16. <severity value="CRITICAL"/>
  17. <testCaseId value="MC-36326"/>
  18. <group value="layeredNavigation"/>
  19. <group value="catalog"/>
  20. <group value="SearchEngineElasticsearch"/>
  21. <group value="pr_exclude"/>
  22. </annotations>
  23. <before>
  24. <createData entity="SimpleSubCategory" stepKey="createCategory"/>
  25. <createData entity="dropdownProductAttribute" stepKey="createDropdownProductAttribute"/>
  26. <createData entity="productAttributeOption" stepKey="firstDropdownProductAttributeOption">
  27. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  28. </createData>
  29. <createData entity="productAttributeOption" stepKey="secondDropdownProductAttributeOption">
  30. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  31. </createData>
  32. <getData entity="ProductAttributeOptionGetter" index="1" stepKey="getFirstDropdownProductAttributeOption">
  33. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  34. </getData>
  35. <getData entity="ProductAttributeOptionGetter" index="2" stepKey="getSecondDropdownProductAttributeOption">
  36. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  37. </getData>
  38. <createData entity="AddToDefaultSet" stepKey="AddDropdownProductAttributeToAttributeSet">
  39. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  40. </createData>
  41. <createData entity="ApiSimpleProductWithCategory" stepKey="createFirstProduct">
  42. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  43. <requiredEntity createDataKey="getFirstDropdownProductAttributeOption"/>
  44. <requiredEntity createDataKey="createCategory"/>
  45. </createData>
  46. <createData entity="ApiSimpleProductWithCategory" stepKey="createSecondProduct">
  47. <requiredEntity createDataKey="createDropdownProductAttribute"/>
  48. <requiredEntity createDataKey="getSecondDropdownProductAttributeOption"/>
  49. <requiredEntity createDataKey="createCategory"/>
  50. </createData>
  51. <magentoCron groups="index" stepKey="reindexInvalidatedIndices"/>
  52. </before>
  53. <after>
  54. <deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
  55. <deleteData createDataKey="createFirstProduct" stepKey="deleteFirstProduct"/>
  56. <deleteData createDataKey="createSecondProduct" stepKey="deleteSecondProduct"/>
  57. <deleteData createDataKey="createDropdownProductAttribute" stepKey="deleteDropdownProductAttribute"/>
  58. <actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindexInvalidatedIndices">
  59. <argument name="indices" value=""/>
  60. </actionGroup>
  61. </after>
  62. <actionGroup ref="StorefrontNavigateCategoryPageActionGroup" stepKey="openCategory">
  63. <argument name="category" value="$createCategory$"/>
  64. </actionGroup>
  65. <actionGroup ref="AssertStorefrontAttributeOptionPresentInLayeredNavigationActionGroup" stepKey="assertFirstAttributeOptionPresentInLayeredNavigation">
  66. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  67. <argument name="attributeOptionLabel" value="$getFirstDropdownProductAttributeOption.label$"/>
  68. <argument name="attributeOptionPosition" value="1"/>
  69. </actionGroup>
  70. <actionGroup ref="AssertStorefrontAttributeOptionPresentInLayeredNavigationActionGroup" stepKey="assertSecondAttributeOptionPresentInLayeredNavigation">
  71. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  72. <argument name="attributeOptionLabel" value="$getSecondDropdownProductAttributeOption.label$"/>
  73. <argument name="attributeOptionPosition" value="2"/>
  74. </actionGroup>
  75. <actionGroup ref="StorefrontFilterCategoryPageByAttributeOptionActionGroup" stepKey="filterCategoryByFirstOption">
  76. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  77. <argument name="attributeOptionLabel" value="$getFirstDropdownProductAttributeOption.label$"/>
  78. </actionGroup>
  79. <actionGroup ref="StorefrontAssertAppliedFilterActionGroup" stepKey="assertFilterByFirstOption">
  80. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  81. <argument name="attributeOptionLabel" value="$getFirstDropdownProductAttributeOption.label$"/>
  82. </actionGroup>
  83. <actionGroup ref="AssertStorefrontProductIsPresentOnCategoryPageActionGroup" stepKey="assertFirstProductOnCatalogPage">
  84. <argument name="productName" value="$createFirstProduct.name$"/>
  85. </actionGroup>
  86. <actionGroup ref="StorefrontCheckProductIsMissingInCategoryProductsPageActionGroup" stepKey="assertSecondProductIsMissingOnCatalogPage">
  87. <argument name="productName" value="$createSecondProduct.name$"/>
  88. </actionGroup>
  89. <click selector="{{StorefrontCategorySidebarSection.removeFilter}}" stepKey="removeSideBarFilter"/>
  90. <actionGroup ref="StorefrontFilterCategoryPageByAttributeOptionActionGroup" stepKey="filterCategoryBySecondOption">
  91. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  92. <argument name="attributeOptionLabel" value="$getSecondDropdownProductAttributeOption.label$"/>
  93. </actionGroup>
  94. <actionGroup ref="StorefrontAssertAppliedFilterActionGroup" stepKey="assertFilterBySecondOption">
  95. <argument name="attributeLabel" value="$createDropdownProductAttribute.attribute[frontend_labels][0][label]$"/>
  96. <argument name="attributeOptionLabel" value="$getSecondDropdownProductAttributeOption.label$"/>
  97. </actionGroup>
  98. <actionGroup ref="AssertStorefrontProductIsPresentOnCategoryPageActionGroup" stepKey="assertSecondProductOnCatalogPage">
  99. <argument name="productName" value="$createSecondProduct.name$"/>
  100. </actionGroup>
  101. <actionGroup ref="StorefrontCheckProductIsMissingInCategoryProductsPageActionGroup" stepKey="assertFirstProductIsMissingOnCatalogPage">
  102. <argument name="productName" value="$createFirstProduct.name$"/>
  103. </actionGroup>
  104. </test>
  105. </tests>