Skip to content

Commit b44a6b1

Browse files
committed
PB-69: Manually add products into ProductList by name/SKU and sort them by the order they added into the list
1 parent 6c841d9 commit b44a6b1

File tree

4 files changed

+168
-0
lines changed

4 files changed

+168
-0
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeProductsActionGroup.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,11 @@
151151
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
152152
<see userInput="You must login or register to add items to your wishlist." stepKey="seeWishListSuccessMessage"/>
153153
</actionGroup>
154+
<actionGroup name="addSkusToSelectProductsBySku">
155+
<arguments>
156+
<argument name="skus" type="string"/>
157+
</arguments>
158+
<waitForPageLoad stepKey="waitSkuInputToLoad"/>
159+
<fillField selector="{{ProductsContentTypeForm.productsSkusInput}}" userInput="{{skus}}" stepKey="fillSelectProductsBySkuField"/>
160+
</actionGroup>
154161
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/Data/ProductsData.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
<data key="fieldName">condition_option</data>
2525
<data key="value">category_ids</data>
2626
</entity>
27+
<entity name="PageBuilderProductsSelectProductsBySku" type="pagebuilder_select_products_by_types">
28+
<data key="name">Select Products By</data>
29+
<data key="section">general</data>
30+
<data key="fieldName">condition_option</data>
31+
<data key="value">sku</data>
32+
</entity>
2733
<entity name="PageBuilderProductsSelectProductsByCondition" type="pagebuilder_select_products_by_types">
2834
<data key="name">Select Products By</data>
2935
<data key="section">general</data>
@@ -72,6 +78,12 @@
7278
<data key="fieldName">sort_order</data>
7379
<data key="value">position</data>
7480
</entity>
81+
<entity name="PageBuilderProductsSortBySkuPosition" type="pagebuilder_products_sorting_types">
82+
<data key="name">Sort By</data>
83+
<data key="section">general</data>
84+
<data key="fieldName">sort_order</data>
85+
<data key="value">position_by_sku</data>
86+
</entity>
7587
<!-- Number of Products to Display -->
7688
<entity name="PageBuilderProductsCountPropertyOne" type="pagebuilder_content_type">
7789
<data key="name">Number of Products to Display</data>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderProductsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<element name="conditionsCombinationAggregateBooleanSelector" type="button" selector="//ul[contains(@class,'rule-param-children')]//span[contains(@class,'rule-param')]//select[contains(@id,'1--{{arg1}}__value')]/ancestor::span[contains(@class,'rule-param')]//a" parameterized="true"/>
5151
<element name="conditionsCombinationAggregateBooleanSelectorSelect" type="button" selector="//ul[contains(@class,'rule-param-children')]//span[contains(@class,'rule-param')]//select[contains(@id,'1--{{arg1}}__value')]" parameterized="true"/>
5252
<element name="productsCountInput" type="input" selector="input[name='products_count']"/>
53+
<element name="productsSkusInput" type="input" selector="input[name='sku']"/>
5354
</section>
5455
<section name="ProductsOnStorefront">
5556
<element name="base" type="text" selector="(//div[contains(@data-content-type,'products')])[{{arg1}}]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderProductsTest.xml

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2069,4 +2069,152 @@
20692069
</actionGroup>
20702070
<dontSeeElementInDOM selector="{{ProductsOnStorefront.product('1')}}" stepKey="validateNoProductsOnStorefront" after="navigateToCMSPageStorefront2"/>
20712071
</test>
2072+
<test name="AdminPageBuilderProductsSelectBySkuAndSortByPosition">
2073+
<annotations>
2074+
<features value="PageBuilder"/>
2075+
<stories value="Products"/>
2076+
<title value="Select Products By SKU and Sort By Position"/>
2077+
<description value="Ensure products content type can be set to select products by SKU and sorted by position"/>
2078+
<severity value="CRITICAL"/>
2079+
<useCaseId value="PB-69"/>
2080+
<testCaseId value="MC-21904"/>
2081+
<group value="pagebuilder"/>
2082+
<group value="pagebuilder-products"/>
2083+
</annotations>
2084+
<before>
2085+
<createData entity="PageBuilderProductsSubCategory" stepKey="createPreReqCategory"/>
2086+
<createData entity="SortProduct1" stepKey="createProduct1">
2087+
<requiredEntity createDataKey="createPreReqCategory"/>
2088+
</createData>
2089+
<createData entity="SortProduct2" stepKey="createProduct2">
2090+
<requiredEntity createDataKey="createPreReqCategory"/>
2091+
</createData>
2092+
<createData entity="_emptyCmsPage" stepKey="createCMSPage"/>
2093+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
2094+
<actionGroup ref="navigateToCMSPage" stepKey="navigateToCMSPage">
2095+
<argument name="CMSPage" value="$$createCMSPage$$"/>
2096+
</actionGroup>
2097+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
2098+
</before>
2099+
<after>
2100+
<deleteData createDataKey="createProduct1" stepKey="deleteProduct1"/>
2101+
<deleteData createDataKey="createProduct2" stepKey="deleteProduct2"/>
2102+
<deleteData createDataKey="createPreReqCategory" stepKey="deleteCategory1"/>
2103+
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
2104+
<actionGroup ref="logout" stepKey="logout"/>
2105+
</after>
2106+
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandMenuSectionAddContent">
2107+
<argument name="contentType" value="PageBuilderProductsContentType"/>
2108+
</actionGroup>
2109+
<actionGroup ref="dragContentTypeToStage" stepKey="dragProductsIntoStage">
2110+
<argument name="contentType" value="PageBuilderProductsContentType"/>
2111+
</actionGroup>
2112+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditAfterDrop">
2113+
<argument name="contentType" value="PageBuilderProductsContentType"/>
2114+
</actionGroup>
2115+
<actionGroup ref="chooseVisualSelectOption" stepKey="chooseSelectProductsBy">
2116+
<argument name="property" value="PageBuilderProductsSelectProductsBySku"/>
2117+
</actionGroup>
2118+
<actionGroup ref="addSkusToSelectProductsBySku" stepKey="addProductsSkusToInputField">
2119+
<argument name="skus" value="$$createProduct2.sku$$,$$createProduct1.sku$$"/>
2120+
</actionGroup>
2121+
<actionGroup ref="selectSlideOutPanelFieldGeneral" stepKey="enterSortBy">
2122+
<argument name="property" value="PageBuilderProductsSortBySkuPosition"/>
2123+
</actionGroup>
2124+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterProductsCount">
2125+
<argument name="property" value="PageBuilderProductsCountPropertyFour"/>
2126+
</actionGroup>
2127+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
2128+
<!-- Validate Stage -->
2129+
<comment userInput="Validate Stage" stepKey="commentValidateStage"/>
2130+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStage">
2131+
<argument name="page" value="ProductsOnStage"/>
2132+
<argument name="count" value="2"/>
2133+
</actionGroup>
2134+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct1Stage">
2135+
<argument name="page" value="ProductsOnStage"/>
2136+
<argument name="product" value="SortProduct2"/>
2137+
<argument name="productIndex" value="1"/>
2138+
</actionGroup>
2139+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct2Stage">
2140+
<argument name="page" value="ProductsOnStage"/>
2141+
<argument name="product" value="SortProduct1"/>
2142+
<argument name="productIndex" value="2"/>
2143+
</actionGroup>
2144+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
2145+
<!-- Validate Storefront -->
2146+
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/>
2147+
<openNewTab stepKey="openTabToValidateStorefront" />
2148+
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront">
2149+
<argument name="page" value="$$createCMSPage.identifier$$"/>
2150+
</actionGroup>
2151+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductCountStorefront">
2152+
<argument name="page" value="ProductsOnStorefront"/>
2153+
<argument name="count" value="2"/>
2154+
</actionGroup>
2155+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct1Storefront">
2156+
<argument name="page" value="ProductsOnStorefront"/>
2157+
<argument name="product" value="SortProduct2"/>
2158+
<argument name="productIndex" value="1"/>
2159+
<argument name="isClickable" value="auto"/>
2160+
</actionGroup>
2161+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct2Storefront">
2162+
<argument name="page" value="ProductsOnStorefront"/>
2163+
<argument name="product" value="SortProduct1"/>
2164+
<argument name="productIndex" value="2"/>
2165+
<argument name="isClickable" value="auto"/>
2166+
</actionGroup>
2167+
<closeTab stepKey="closeStorefrontTab" />
2168+
<reloadPage stepKey="reloadPage" />
2169+
<waitForPageLoad stepKey="waitForReload" />
2170+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage1"/>
2171+
<!-- Change position of product SKUs -->
2172+
<comment userInput="Change position of product SKUs" stepKey="commentChangeSkusPositions"/>
2173+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditChangeSkusPositions">
2174+
<argument name="contentType" value="PageBuilderProductsContentType"/>
2175+
</actionGroup>
2176+
<actionGroup ref="addSkusToSelectProductsBySku" stepKey="changeProductsSkusInInputField2">
2177+
<argument name="skus" value="$$createProduct1.sku$$, $$createProduct2.sku$$"/>
2178+
</actionGroup>
2179+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings2"/>
2180+
<!-- Validate Stage -->
2181+
<comment userInput="Validate Stage" stepKey="commentValidateStage2"/>
2182+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStage2">
2183+
<argument name="page" value="ProductsOnStage"/>
2184+
<argument name="count" value="2"/>
2185+
</actionGroup>
2186+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct1Stage2">
2187+
<argument name="page" value="ProductsOnStage"/>
2188+
<argument name="product" value="SortProduct2"/>
2189+
<argument name="productIndex" value="2"/>
2190+
</actionGroup>
2191+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct2Stage2">
2192+
<argument name="page" value="ProductsOnStage"/>
2193+
<argument name="product" value="SortProduct1"/>
2194+
<argument name="productIndex" value="1"/>
2195+
</actionGroup>
2196+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage2"/>
2197+
<!-- Validate Storefront -->
2198+
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront2"/>
2199+
<openNewTab stepKey="openTabToValidateStorefront2" />
2200+
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront2">
2201+
<argument name="page" value="$$createCMSPage.identifier$$"/>
2202+
</actionGroup>
2203+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductCountStorefront2">
2204+
<argument name="page" value="ProductsOnStorefront"/>
2205+
<argument name="count" value="2"/>
2206+
</actionGroup>
2207+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct1Storefront2">
2208+
<argument name="page" value="ProductsOnStorefront"/>
2209+
<argument name="product" value="SortProduct2"/>
2210+
<argument name="productIndex" value="2"/>
2211+
<argument name="isClickable" value="auto"/>
2212+
</actionGroup>
2213+
<actionGroup ref="validateProductInProducts" stepKey="validateProduct2Storefront2">
2214+
<argument name="page" value="ProductsOnStorefront"/>
2215+
<argument name="product" value="SortProduct1"/>
2216+
<argument name="productIndex" value="1"/>
2217+
<argument name="isClickable" value="auto"/>
2218+
</actionGroup>
2219+
</test>
20722220
</tests>

0 commit comments

Comments
 (0)