Skip to content

Commit 843017f

Browse files
committed
PB-277: Full height Row
- Adding MFTF test coverage for row minimum height changes
1 parent 31059f2 commit 843017f

9 files changed

+478
-47
lines changed

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,16 @@
385385
</arguments>
386386
<dontSeeElementInDOM selector="{{EditPanelForm.panelFieldNoAfterLabelText(property.fieldName)}}" stepKey="dontSeeElementInDOM"/>
387387
</actionGroup>
388+
<actionGroup name="validateSlideOutPanelFieldHelperText">
389+
<annotations>
390+
<description>Validates the helper text for a field on the edit panel form.</description>
391+
</annotations>
392+
<arguments>
393+
<argument name="property"/>
394+
</arguments>
395+
<waitForElement time="2" selector="{{EditPanelForm.panelFieldHelperText(property.section, property.fieldName)}}" stepKey="waitForElement"/>
396+
<see userInput="{{property.helperText}}" selector="{{EditPanelForm.panelFieldHelperText(property.section, property.fieldName)}}" stepKey="seeHelperText"/>
397+
</actionGroup>
388398
<actionGroup name="validateSlideOutPanelFieldNotPresent">
389399
<arguments>
390400
<argument name="property"/>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
</actionGroup>
4343
<!-- Validate Min Height -->
4444
<actionGroup name="validateContentTypeHeightEqualToMinHeight">
45+
<annotations>
46+
<description>Validates that a content type's minimum height is equal to it's actual height minus top padding minus bottom padding minus border width times two.</description>
47+
</annotations>
4548
<arguments>
4649
<argument name="content" type="string"/>
4750
<argument name="index" defaultValue="1" type="string"/>

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,16 @@
453453
<data key="paddingBottom">0</data>
454454
<data key="paddingLeft">0</data>
455455
</entity>
456+
<entity name="PageBuilderPadding_0" type="pagebuilder_padding_property">
457+
<data key="name">Margins and Padding</data>
458+
<data key="section">advanced</data>
459+
<data key="fieldName">margins_and_padding</data>
460+
<data key="value">0</data>
461+
<data key="paddingTop">0</data>
462+
<data key="paddingRight">0</data>
463+
<data key="paddingBottom">0</data>
464+
<data key="paddingLeft">0</data>
465+
</entity>
456466
<entity name="PageBuilderPaddingProperty_Empty" type="pagebuilder_padding_property">
457467
<data key="name">Margins and Padding</data>
458468
<data key="section">advanced</data>

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<data key="section">appearance_fieldset</data>
1515
<data key="fieldName">min_height</data>
1616
<data key="value"/>
17+
<data key="helperText">Minimum height can be a single number with any valid CSS unit (50px, 50%, 50em, 50vh) or a calculation (50% + 50px).</data>
1718
</entity>
1819
<entity name="PageBuilderMinHeightProperty_0" type="pagebuilder_min_height_property">
1920
<data key="name">Minimum Height</data>
@@ -34,6 +35,7 @@
3435
<data key="section">appearance_fieldset</data>
3536
<data key="fieldName">min_height</data>
3637
<data key="value">500px</data>
38+
<data key="intValue">500px</data>
3739
<data key="style">min-height: 500px</data>
3840
</entity>
3941
<entity name="PageBuilderMinHeightProperty_300" type="pagebuilder_min_height_property">
@@ -62,8 +64,23 @@
6264
<data key="section">appearance_fieldset</data>
6365
<data key="fieldName">min_height</data>
6466
<data key="value">200px</data>
67+
<data key="intValue">200</data>
6568
<data key="style">min-height: 200px</data>
6669
</entity>
70+
<entity name="PageBuilderMinHeightProperty_100vh" type="pagebuilder_min_height_property">
71+
<data key="name">Minimum Height</data>
72+
<data key="section">appearance_fieldset</data>
73+
<data key="fieldName">min_height</data>
74+
<data key="value">100vh</data>
75+
<data key="style">min-height: 100vh</data>
76+
</entity>
77+
<entity name="PageBuilderMinHeightProperty_100vh_Minus_200px" type="pagebuilder_min_height_property">
78+
<data key="name">Minimum Height</data>
79+
<data key="section">appearance_fieldset</data>
80+
<data key="fieldName">min_height</data>
81+
<data key="value">calc(100vh - 200px)</data>
82+
<data key="style">min-height: calc(100vh - 200px)</data>
83+
</entity>
6784
<entity name="PageBuilderMinHeightProperty_NonNumeric" type="pagebuilder_min_height_property">
6885
<data key="name">Minimum Height</data>
6986
<data key="section">appearance_fieldset</data>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<element name="panelFieldNoPlaceholderText" type="input" selector='//div[@data-index="{{arg1}}"]/descendant::*[@name="{{arg2}}" and not(@placeholder)]' parameterized="true"/>
3232
<element name="panelFieldAfterLabelText" type="text" selector="//div[@data-index='{{arg1}}']//span[@data-bind='text: addafter' and .='{{arg2}}']" parameterized="true"/>
3333
<element name="panelFieldNoAfterLabelText" type="text" selector="//div[@data-index='{{arg1}}']//span[@data-bind='text: addafter']" parameterized="true"/>
34+
<element name="panelFieldHelperText" type="text" parameterized="true" selector="//aside//*[@data-index='{{section}}']/descendant::*[@name='{{field}}']/ancestor::*[contains(@class,'admin__field-control')]/descendant::*[contains(@class,'admin__field-note') or contains(@class,'image-upload-requirements')]"/>
3435
<element name="panelFieldValidationError" type="input" selector="//div[contains(@class,'_insert_form')]//div[@data-index='{{arg1}}']//div[@data-index='{{arg2}}' and contains(@class,'_error')]//div[contains(@class,'')]//*[@name='{{arg2}}' or contains(@class,'mce-tinymce')]" parameterized="true"/>
3536
<element name="panelFieldValidationErrorMessage" type="button" selector="//div[contains(@class,'_insert_form')]//div[@data-index='{{arg1}}']//div[contains(@class,'admin__field-control')]//*[@name='{{arg2}}' or contains(@class,'mce-tinymce')]//..//..//..//label[.='{{arg3}}']" parameterized="true"/>
3637
<element name="panelMultiSelectFieldControl" type="input" selector="aside [data-index='{{arg1}}'] [data-index='{{arg2}}'] [data-role='advanced-select']" parameterized="true"/>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<element name="rowChildContentWidthJS" type="text" selector="document.querySelectorAll('[data-content-type=row]')[{{arg1}} - 1].querySelectorAll('[data-content-type={{arg2}}]')[{{arg3}} - 1].clientWidth" parameterized="true"/>
3737
<element name="appearanceContained" type="text" selector="(//div[@data-content-type='row'])[{{arg1}}][@data-appearance='{{arg2}}']" parameterized="true"/>
3838
<element name="appearanceFullWidthFullBleed" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-row')])[{{arg1}}][@data-appearance='{{arg2}}']" parameterized="true"/>
39-
<element name="minHeight" type="button" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-row')])[{{arg1}}][contains(@style,'min-height: {{arg2}}px;')]" parameterized="true"/>
39+
<element name="minHeight" type="button" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-row')])[{{arg1}}][contains(@style,'min-height: {{arg2}};')]" parameterized="true"/>
4040
<element name="verticalAlignContainer" type="button" selector="(//div[contains(@class, 'pagebuilder-row')])[{{arg1}}]//div[contains(@class, 'element-children') and contains(@class, 'row-container')][contains(@style,'justify-content: {{arg2}};')]" parameterized="true"/>
4141
<!-- Background Configuration -->
4242
<element name="backgroundColor" type="button" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-row')])[{{arg1}}][contains(@style,'background-color: {{arg2}};')]" parameterized="true"/>
@@ -91,7 +91,7 @@
9191
<element name="appearanceContainedCSS" type="text" selector="[data-content-type=row][data-appearance=contained]"/>
9292
<element name="appearanceFullBleedCSS" type="text" selector="[data-content-type=row][data-appearance=full-bleed]"/>
9393
<element name="appearanceFullWidthCSS" type="text" selector="[data-content-type=row][data-appearance=full-width]"/>
94-
<element name="minHeight" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}]/div[contains(@style, 'min-height: {{arg2}}px;')]" parameterized="true"/>
94+
<element name="minHeight" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}]/div[contains(@style, 'min-height: {{arg2}};')]" parameterized="true"/>
9595
<element name="verticalAlignContainer" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}]/div[contains(@style, 'justify-content: {{arg2}};')]" parameterized="true"/>
9696
<!-- Background Configuration -->
9797
<element name="backgroundColor" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}]/div[contains(@style,'background-color: {{arg2}};')]" parameterized="true"/>
@@ -145,7 +145,7 @@
145145
<element name="parallaxBackgroundImage" type="button" selector='(//div[@data-content-type="row"])[{{arg1}}]/descendant::div[contains(@id,"jarallax-container")]/div[contains(@style,"background-image: url(") and contains(@style,"{{arg2}}") and contains(@style,"{{arg3}}")]' parameterized="true"/>
146146
<element name="parallaxJS" type="text" selector="(document.querySelectorAll('[data-content-type=row]')[{{arg1}} - 1]).querySelector('[id*=jarallax-container] > div')" parameterized="true"/>
147147
<!-- Layout Configuration -->
148-
<element name="minHeight" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}][contains(@style, 'min-height: {{arg2}}px;')]" parameterized="true"/>
148+
<element name="minHeight" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}][contains(@style, 'min-height: {{arg2}};')]" parameterized="true"/>
149149
<element name="verticalAlignContainer" type="button" selector="(//div[@data-content-type='row'])[{{arg1}}][contains(@style, 'justify-content: {{arg2}};')]" parameterized="true"/>
150150
<!-- Advanced Configuration -->
151151
<element name="alignment" type="text" selector="(//div[@data-content-type='row'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>

0 commit comments

Comments
 (0)