Skip to content

Commit e03d235

Browse files
committed
Merge remote-tracking branch 'origin/MC-4234-missing-validation-message-for-product-content-type' into cms-team-1-delivery
2 parents d25e5c8 + 39b3c4f commit e03d235

File tree

3 files changed

+164
-14
lines changed

3 files changed

+164
-14
lines changed

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

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,53 @@
88

99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11-
<entity name="PageBuilderProductsCountProperty" type="pagebuilder_content_type">
12-
<data key="name">Products Count</data>
13-
<data key="section">display</data>
11+
<entity name="PageBuilderProductsCountPropertyOne" type="pagebuilder_content_type">
12+
<data key="name">Number of Products to Display</data>
13+
<data key="section">general</data>
14+
<data key="fieldName">products_count</data>
15+
<data key="value">1</data>
16+
</entity>
17+
<entity name="PageBuilderProductsCountPropertyFour" type="pagebuilder_content_type">
18+
<data key="name">Number of Products to Display</data>
19+
<data key="section">general</data>
1420
<data key="fieldName">products_count</data>
1521
<data key="value">4</data>
1622
</entity>
23+
<entity name="PageBuilderProductsCountPropertyMax" type="pagebuilder_content_type">
24+
<data key="name">Number of Products to Display</data>
25+
<data key="section">general</data>
26+
<data key="fieldName">products_count</data>
27+
<data key="value">999</data>
28+
</entity>
29+
30+
<entity name="PageBuilderProductsInvalidMinCountProperty" type="pagebuilder_content_type">
31+
<data key="name">Number of Products to Display</data>
32+
<data key="section">general</data>
33+
<data key="fieldName">products_count</data>
34+
<data key="value">0</data>
35+
<data key="errorMessage">Please enter a value greater than or equal to 1.</data>
36+
</entity>
37+
<entity name="PageBuilderProductsInvalidMaxCountProperty" type="pagebuilder_content_type">
38+
<data key="name">Number of Products to Display</data>
39+
<data key="section">general</data>
40+
<data key="fieldName">products_count</data>
41+
<data key="value">1000</data>
42+
<data key="errorMessage">Please enter a value less than or equal to 999.</data>
43+
</entity>
44+
<entity name="PageBuilderProductsInvalidTypeCountProperty" type="pagebuilder_content_type">
45+
<data key="name">Number of Products to Display</data>
46+
<data key="section">general</data>
47+
<data key="fieldName">products_count</data>
48+
<data key="value">Invalid</data>
49+
<data key="errorMessage">Please enter a valid number in this field.</data>
50+
</entity>
51+
<entity name="PageBuilderProductsInvalidEmptyCountProperty" type="pagebuilder_content_type">
52+
<data key="name">Number of Products to Display</data>
53+
<data key="section">general</data>
54+
<data key="fieldName">products_count</data>
55+
<data key="value"/>
56+
<data key="errorMessage">This is a required field.</data>
57+
</entity>
1758
<entity name="PageBuilderProductsSubCategory" type="category">
1859
<data key="name" unique="suffix">PageBuilderProductsSubCategory</data>
1960
<data key="is_active">true</data>

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

Lines changed: 114 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,22 @@
150150
<createData entity="_defaultProduct" stepKey="createPreReqProduct2">
151151
<requiredEntity createDataKey="createPreReqCategory"/>
152152
</createData>
153+
<createData entity="_defaultProduct" stepKey="createPreReqProduct3">
154+
<requiredEntity createDataKey="createPreReqCategory"/>
155+
</createData>
156+
<createData entity="_defaultProduct" stepKey="createPreReqProduct4">
157+
<requiredEntity createDataKey="createPreReqCategory"/>
158+
</createData>
153159
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
154160
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
155161
</before>
156162
<after>
157163
<deleteData createDataKey="createPreReqProduct1" stepKey="deletePreReqProduct1"/>
158164
<deleteData createDataKey="createPreReqProduct2" stepKey="deletePreReqProduct2"/>
165+
<deleteData createDataKey="createPreReqProduct3" stepKey="deletePreReqProduct3"/>
166+
<deleteData createDataKey="createPreReqProduct4" stepKey="deletePreReqProduct4"/>
159167
<deleteData createDataKey="createPreReqCategory" stepKey="deletePreReqCategory"/>
168+
<closeTab stepKey="closeTab"/>
160169
<actionGroup ref="logout" stepKey="logout"/>
161170
</after>
162171
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
@@ -168,22 +177,55 @@
168177
<actionGroup ref="dragContentTypeToStage" stepKey="dragProductsIntoStage">
169178
<argument name="contentType" value="PageBuilderProductsContentType"/>
170179
</actionGroup>
171-
172180
<!-- Add both products from the created category -->
173181
<actionGroup ref="addCategoryConditionToProductsBlock" stepKey="addCategory">
174182
<argument name="page" value="ProductsContentTypeForm"/>
175183
<argument name="category" value="$$createPreReqCategory.id$$"/>
176184
</actionGroup>
177-
178-
<!-- Only one of them should be showing -->
179185
<waitForElementVisible selector="{{ProductsContentTypeForm.productsCountInput}}" stepKey="waitForProductCountToBeVisible"/>
180186
<waitForLoadingMaskToDisappear stepKey="waitForConditionsToLoad"/>
181-
<fillField selector="{{ProductsContentTypeForm.productsCountInput}}" userInput="1" stepKey="fillProductsCountField"/>
182-
187+
<!-- Check form field validations -->
188+
<comment userInput="Check form field validations" stepKey="commentCheckFormFieldValidations"/>
189+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterInvalidMinProductsCount">
190+
<argument name="property" value="PageBuilderProductsInvalidMinCountProperty"/>
191+
</actionGroup>
192+
<actionGroup ref="saveEditPanelAndValidateFieldErrorGeneralSection" stepKey="validateInvalidMinCount">
193+
<argument name="property" value="PageBuilderProductsInvalidMinCountProperty"/>
194+
</actionGroup>
195+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterInvalidEmptyProductsCount">
196+
<argument name="property" value="PageBuilderProductsInvalidEmptyCountProperty"/>
197+
</actionGroup>
198+
<actionGroup ref="saveEditPanelAndValidateFieldErrorGeneralSection" stepKey="validateInvalidEmptyCount">
199+
<argument name="property" value="PageBuilderProductsInvalidEmptyCountProperty"/>
200+
</actionGroup>
201+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterInvalidMaxProductsCount">
202+
<argument name="property" value="PageBuilderProductsInvalidMaxCountProperty"/>
203+
</actionGroup>
204+
<actionGroup ref="saveEditPanelAndValidateFieldErrorGeneralSection" stepKey="validateInvalidMaxCount">
205+
<argument name="property" value="PageBuilderProductsInvalidMaxCountProperty"/>
206+
</actionGroup>
207+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterInvalidTypeProductsCount">
208+
<argument name="property" value="PageBuilderProductsInvalidTypeCountProperty"/>
209+
</actionGroup>
210+
<actionGroup ref="saveEditPanelAndValidateFieldErrorGeneralSection" stepKey="validateInvalidTypeProductsCount">
211+
<argument name="property" value="PageBuilderProductsInvalidTypeCountProperty"/>
212+
</actionGroup>
213+
<!-- Validate 999 max is valid -->
214+
<comment userInput="Validate 999 max is valid" stepKey="commentValidateMax"/>
215+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterMaxProductsCount">
216+
<argument name="property" value="PageBuilderProductsCountPropertyMax"/>
217+
</actionGroup>
218+
<actionGroup ref="saveEditPanelSettings" stepKey="saveValidationEditPanelSettings"/>
219+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
220+
<argument name="contentType" value="PageBuilderProductsContentType"/>
221+
</actionGroup>
222+
<!-- Only one of them should be showing -->
223+
<comment userInput="Set only one of them should be showing" stepKey="commentSetOnlyOneShouldBeShowing"/>
224+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterOneProductsCount">
225+
<argument name="property" value="PageBuilderProductsCountPropertyOne"/>
226+
</actionGroup>
183227
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
184-
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
185-
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
186-
<!-- Validate Stage After Save -->
228+
<!-- Validate Stage -->
187229
<comment userInput="Validate Stage" stepKey="commentValidateStage"/>
188230
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStage">
189231
<argument name="page" value="ProductsOnStage"/>
@@ -192,18 +234,80 @@
192234
<actionGroup ref="validateProductInProductsOnStage" stepKey="validateProductsStage">
193235
<argument name="page" value="ProductsOnStage"/>
194236
</actionGroup>
195-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
196-
<argument name="contentType" value="PageBuilderProductsContentType"/>
237+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
238+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
239+
<!-- Validate Stage After Save -->
240+
<comment userInput="Validate Stage After Save" stepKey="commentValidateStageAfterSave"/>
241+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStageAfterSave">
242+
<argument name="page" value="ProductsOnStage"/>
243+
<argument name="count" value="1"/>
244+
</actionGroup>
245+
<actionGroup ref="validateProductInProductsOnStage" stepKey="validateProductsStageAfterSave">
246+
<argument name="page" value="ProductsOnStage"/>
197247
</actionGroup>
198248
<!-- Validate Storefront -->
199249
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/>
250+
<openNewTab stepKey="openNewTab"/>
251+
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
252+
<argument name="contentType" value="PageBuilderProductsContentType"/>
253+
</actionGroup>
200254
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductCountStorefront">
201255
<argument name="page" value="ProductsOnStorefront"/>
202256
<argument name="count" value="1"/>
203257
</actionGroup>
204258
<actionGroup ref="validateProductInProducts" stepKey="validateProductsStorefront">
205259
<argument name="page" value="ProductsOnStorefront"/>
206260
</actionGroup>
261+
<!-- Switch Back To Backend -->
262+
<comment userInput="Switch Back To Backend" stepKey="commentSwitchToBackend"/>
263+
<switchToNextTab stepKey="switchToNextTab"/>
264+
<reloadPage stepKey="reloadPage"/>
265+
<waitForPageLoad stepKey="waitForPageLoad"/>
266+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage3"/>
267+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2">
268+
<argument name="contentType" value="PageBuilderProductsContentType"/>
269+
</actionGroup>
270+
<!-- Four products should be showing -->
271+
<comment userInput="Four products should be showing" stepKey="commentFourProductsShouldBeShowing"/>
272+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterFourProductsCount">
273+
<argument name="property" value="PageBuilderProductsCountPropertyFour"/>
274+
</actionGroup>
275+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings2"/>
276+
<!-- Validate Stage -->
277+
<comment userInput="Validate Stage" stepKey="commentValidateStage2"/>
278+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStage2">
279+
<argument name="page" value="ProductsOnStage"/>
280+
<argument name="count" value="4"/>
281+
</actionGroup>
282+
<actionGroup ref="validateProductInProductsOnStage" stepKey="validateProductsStage2">
283+
<argument name="page" value="ProductsOnStage"/>
284+
</actionGroup>
285+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage2"/>
286+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage2"/>
287+
<!-- Validate Stage After Save -->
288+
<comment userInput="Validate Stage" stepKey="commentValidateStage2AfterSave"/>
289+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountStage2AfterSave">
290+
<argument name="page" value="ProductsOnStage"/>
291+
<argument name="count" value="4"/>
292+
</actionGroup>
293+
<actionGroup ref="validateProductInProductsOnStage" stepKey="validateProductsStage2AfterSave">
294+
<argument name="page" value="ProductsOnStage"/>
295+
</actionGroup>
296+
<actionGroup ref="ClearCacheActionGroup" stepKey="clearMagentoCache"/>
297+
<!-- Switch Back To Frontend -->
298+
<comment userInput="Switch Back To Frontend" stepKey="commentSwitchToFrontend"/>
299+
<switchToNextTab stepKey="switchToNextTab2"/>
300+
<reloadPage stepKey="reloadPage2"/>
301+
<waitForPageLoad stepKey="waitForPageLoad2"/>
302+
<!-- Validate Storefront -->
303+
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront2"/>
304+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductCountStorefront2">
305+
<argument name="page" value="ProductsOnStorefront"/>
306+
<argument name="count" value="4"/>
307+
</actionGroup>
308+
<actionGroup ref="validateProductInProducts" stepKey="validateProductsStorefront2">
309+
<argument name="page" value="ProductsOnStorefront"/>
310+
</actionGroup>
207311
</test>
208312
<test name="AdminPageBuilderProductsConfigurationIsPersistent">
209313
<annotations>

app/code/Magento/PageBuilder/view/adminhtml/ui_component/pagebuilder_products_form.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,13 @@
101101
<additionalClasses>
102102
<class name="admin__field-small">true</class>
103103
</additionalClasses>
104-
<notice translate="true">Defaults to 5.</notice>
105104
<dataScope>products_count</dataScope>
105+
<validation>
106+
<rule name="required-entry" xsi:type="boolean">true</rule>
107+
<rule name="validate-number" xsi:type="boolean">true</rule>
108+
<rule name="less-than-equals-to" xsi:type="number">999</rule>
109+
<rule name="greater-than-equals-to" xsi:type="number">1</rule>
110+
</validation>
106111
</settings>
107112
</field>
108113
</fieldset>

0 commit comments

Comments
 (0)