Skip to content

Commit 7671b3a

Browse files
Merge branch '557_user-access-row-action-panel' of github.com:hannahnida/magento2-page-builder into PR
Conflicts: app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/row/contained/preview.html app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/row/full-bleed/preview.html app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/row/full-width/preview.html
2 parents 49ae528 + 4052f53 commit 7671b3a

File tree

43 files changed

+508
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+508
-129
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/BackgroundConfigurationActionGroup/ValidateVideoBackgroundWithOnlyVideoUrlActionGroup.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
<argument name="lazyLoad" defaultValue="PageBuilderVideoBackgroundLazyLoad_Enabled"/>
1919
<argument name="playOnlyWhenVisible" defaultValue="PageBuilderVideoBackgroundPlayOnlyWhenVisible_Enabled"/>
2020
<argument name="index" defaultValue="1" type="string"/>
21+
<argument name="defaultBackgroundColor" defaultValue="PageBuilderBackgroundColor_Default"/>
2122
</arguments>
2223
<waitForPageLoad stepKey="waitForPageLoad"/>
2324
<waitForElementVisible selector="{{section.backgroundType(index, 'video')}}" stepKey="waitForVideoBackground"/>
24-
<dontSeeElementInDOM selector="{{section.backgroundColorElement(index)}}" stepKey="dontSeeBackgroundColorInDOM"/>
25+
<executeJS function="return window.getComputedStyle(document.evaluate('{{section.backgroundPath(index)}}', document.body).iterateNext()).backgroundColor" stepKey="grabBackgroundColorValue"/>
26+
<assertEquals stepKey="dontSeeBackgroundColorInDOM">
27+
<expectedResult type="string">{{defaultBackgroundColor.rgb}}</expectedResult>
28+
<actualResult type="variable">grabBackgroundColorValue</actualResult>
29+
</assertEquals>
2530
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
2631
<waitForElement selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
2732
<grabAttributeFrom selector="{{section.videoBackgroundJarallaxContainer(index)}}" userInput="style" stepKey="jarallaxStyle"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
9+
<actionGroup name="VerifyAffordanceSizeActionGroup">
10+
<annotations>
11+
<description>Verifies the size of the affordance on Container content types.</description>
12+
</annotations>
13+
<arguments>
14+
<argument name="expectedAffordanceSize" defaultValue="{{PageBuilderRowAffordanceWidth.borderWidth}}" type="string"/>
15+
<argument name="index" defaultValue="1" type="string"/>
16+
<argument name="section" defaultValue="RowOnStage"/>
17+
</arguments>
18+
<waitForElementVisible selector="{{section.affordance(index)}}" stepKey="waitForAffordanceVisible"/>
19+
<executeJS function="return parseInt(window.getComputedStyle({{section.affordanceJS(index)}}).borderWidth, 10)" stepKey="actualAffordanceSize"/>
20+
<assertEquals stepKey="assertActualAffordanceSizeEqualsExpected">
21+
<expectedResult type="int">{{expectedAffordanceSize}}</expectedResult>
22+
<actualResult type="variable">actualAffordanceSize</actualResult>
23+
</assertEquals>
24+
</actionGroup>
25+
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeRowActionGroup/ValidateFullWidthRowAppearanceActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717
<argument name="childContentTypeIndex" defaultValue="1" type="string"/>
1818
<argument name="padding" defaultValue="PageBuilderPaddingPropertyRowDefault"/>
1919
<argument name="acceptableOffset" defaultValue="2" type="string"/>
20+
<argument name="affordanceValue" defaultValue="0" type="string"/>
2021
</arguments>
2122
<comment userInput="Increase window size to see varying widths for rows" stepKey="commentResizeWindow"/>
2223
<resizeWindow width="1920" height="1024" stepKey="resizeWindow"/>
23-
<executeJS function="return {{pageOrStageWidthJS}}" stepKey="pageOrStageWidth"/>
24+
<executeJS function="return {{pageOrStageWidthJS}} - {{affordanceValue}}" stepKey="pageOrStageWidth"/>
2425
<executeJS function="return {{section.rowWidthJS(rowIndex)}}" stepKey="rowWidth"/>
2526
<executeJS function="return parseInt({{section.rowChildContentWidthJS(rowIndex, childContentType.role, childContentTypeIndex)}} + {{padding.paddingLeft}} + {{padding.paddingRight}} + ({{childContentTypeBorder.value}}*2))" stepKey="rowChildElementWidth"/>
2627
<executeJS function="return Math.abs({$pageOrStageWidth} - {$rowWidth})" stepKey="pageMinusRowWidth"/>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup/DuplicateContentTypeActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
<executeJS function="return document.querySelectorAll('{{PageBuilderStage.contentTypeTotalInStage(contentType.role)}}').length+1" stepKey="expectedContentTypeCount"/>
2020
<waitForElementVisible selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, targetIndex)}}" stepKey="waitForContentTypeInStageVisible"/>
2121
<executeJS function="return ['row', 'column'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-display-label&quot;) and contains(.,&quot;'+'{{contentType.role}}'.toUpperCase()+'&quot;)]' : ['tabs'].include('{{contentType.role}}') ? '//ul[@data-element=&quot;navigation&quot;]' : '';" stepKey="contentTypeLabelSelector" />
22-
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, targetIndex)}}{$contentTypeLabelSelector}" x="{{contentTypeXCoordinate}}" y="{{contentTypeYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
22+
<executeJS function="return ['row'].include('{{contentType.role}}') ? '(//div[contains(@class, &quot;pagebuilder-content-type-affordance&quot;) and contains(@class, &quot;pagebuilder-affordance-{{contentType.role}}&quot;)])[{{targetIndex}}]' : '(//div[contains(@class, &quot;pagebuilder-content-type&quot;) and contains(@class, &quot;pagebuilder-{{contentType.role}}&quot;)])[{{targetIndex}}]';" stepKey="contentTypeByIndexSelector" />
23+
<moveMouseOver selector="{$contentTypeByIndexSelector}{$contentTypeLabelSelector}" x="{{contentTypeXCoordinate}}" y="{{contentTypeYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
2324
<waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenuByIndex(contentType.role, targetIndex)}}" stepKey="waitForOptionsMenu"/>
2425
<waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeDuplicate(contentType.role, targetIndex)}}" stepKey="waitForDuplicate"/>
2526
<click selector="{{PageBuilderContentTypeOptionsMenu.contentTypeDuplicate(contentType.role, targetIndex)}}" stepKey="clickDuplicateContentType"/>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup/HideContentTypeActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
<comment userInput="Hiding content type" stepKey="commentHideContentType"/>
2020
<waitForElementVisible selector="{{section.base(targetIndex)}}" stepKey="waitForContentType"/>
2121
<executeJS function="return ['row', 'column'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-display-label&quot;) and contains(.,&quot;'+'{{contentType.role}}'.toUpperCase()+'&quot;)]' : '';" stepKey="contentTypeLabelSelector" />
22-
<moveMouseOver selector="{{section.base(targetIndex)}}{$contentTypeLabelSelector}" x="{{x}}" y="{{y}}" stepKey="moveMouseOverContentType"/>
22+
<executeJS function="return ['row'].include('{{contentType.role}}') ? '(//div[contains(@class, &quot;pagebuilder-content-type-affordance&quot;) and contains(@class, &quot;pagebuilder-affordance-{{contentType.role}}&quot;)])[{{targetIndex}}]' : '(//div[contains(@class, &quot;pagebuilder-content-type&quot;) and contains(@class, &quot;pagebuilder-{{contentType.role}}&quot;)])[{{targetIndex}}]';" stepKey="contentTypeByIndexSelector" />
23+
<moveMouseOver selector="{$contentTypeByIndexSelector}{$contentTypeLabelSelector}" x="{{x}}" y="{{y}}" stepKey="moveMouseOverContentType"/>
2324
<waitForPageLoad stepKey="waitForMouseOver"/>
2425
<waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(contentType.role, targetIndex)}}" stepKey="waitForHideOptionVisible"/>
2526
<click selector="{{PageBuilderContentTypeOptionsMenu.contentTypeHide(contentType.role, targetIndex)}}" stepKey="hideContentType"/>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup/OpenPageBuilderEditPanelActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
<moveMouseOver selector="{{PageBuilderPanel.searchPanel}}" stepKey="moveMouseToSearchPanel"/>
1717
<waitForElementVisible time="10" selector="{{PageBuilderStage.contentTypeInStage(contentType.role)}}" stepKey="waitForContentTypeInStageVisible"/>
1818
<executeJS function="return ['row', 'column'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-display-label&quot;) and contains(.,&quot;'+'{{contentType.role}}'.toUpperCase()+'&quot;)]' : ['tabs'].include('{{contentType.role}}') ? '//ul[@data-element=&quot;navigation&quot;]' : '';" stepKey="contentTypeLabelSelector" />
19-
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStage(contentType.role)}}{$contentTypeLabelSelector}" x="{{offsetXCoordinate}}" y="{{offsetYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
19+
<executeJS function="return ['row'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-content-type-affordance&quot;) and contains(@class, &quot;pagebuilder-affordance-{{contentType.role}}&quot;)]' : '//div[contains(@class, &quot;pagebuilder-content-type&quot;) and contains(@class, &quot;pagebuilder-{{contentType.role}}&quot;)]';" stepKey="contentTypeSelector" />
20+
<moveMouseOver selector="{$contentTypeSelector}{$contentTypeLabelSelector}" x="{{offsetXCoordinate}}" y="{{offsetYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
2021
<waitForPageLoad stepKey="waitForPageLoad"/>
2122
<waitForElementVisible time="10" selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenu(contentType.role)}}" stepKey="waitForOptions"/>
2223
<click selector="{{PageBuilderContentTypeOptionsMenu.contentTypeEdit(contentType.role)}}" stepKey="clickEditContentType"/>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup/OpenPageBuilderEditPanelByIndexActionGroup.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<argument name="contentTypeYCoordinate" defaultValue="null" type="string"/>
1616
</arguments>
1717
<executeJS function="return ['row', 'column'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-display-label&quot;) and contains(.,&quot;'+'{{contentType.role}}'.toUpperCase()+'&quot;)]' : ['tabs'].include('{{contentType.role}}') ? '//ul[@data-element=&quot;navigation&quot;]' : '';" stepKey="contentTypeLabelSelector" />
18-
<waitForElementVisible time="20" selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, contentTypeIndex)}}{$contentTypeLabelSelector}" stepKey="waitForContentTypeInStageVisible"/>
18+
<executeJS function="return ['row'].include('{{contentType.role}}') ? '(//div[contains(@class, &quot;pagebuilder-content-type-affordance&quot;) and contains(@class, &quot;pagebuilder-affordance-{{contentType.role}}&quot;)])[{{contentTypeIndex}}]' : '(//div[contains(@class, &quot;pagebuilder-content-type&quot;) and contains(@class, &quot;pagebuilder-{{contentType.role}}&quot;)])[{{contentTypeIndex}}]';" stepKey="contentTypeByIndexSelector" />
19+
<waitForElementVisible time="20" selector="{$contentTypeByIndexSelector}{$contentTypeLabelSelector}" stepKey="waitForContentTypeInStageVisible"/>
1920
<moveMouseOver stepKey="moveMouseOverSearch" selector="{{PageBuilderPanel.searchPanel}}" />
20-
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, contentTypeIndex)}}{$contentTypeLabelSelector}" x="{{contentTypeXCoordinate}}" y="{{contentTypeYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
21+
<moveMouseOver selector="{$contentTypeByIndexSelector}{$contentTypeLabelSelector}" x="{{contentTypeXCoordinate}}" y="{{contentTypeYCoordinate}}" stepKey="onMouseOverContentTypeStage"/>
2122
<waitForPageLoad stepKey="waitForPageLoad"/>
2223
<waitForElementVisible time="10" selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenuByIndex(contentType.role, contentTypeIndex)}}" stepKey="waitForOptions"/>
2324
<waitForElementVisible selector="{{PageBuilderContentTypeOptionsMenu.contentTypeEditByIndex(contentType.role, contentTypeIndex)}}" stepKey="waitForEditButton"/>

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/OptionsMenuActionGroup/RemoveContentTypeFromStageByIndexActionGroup.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
<waitForElementVisible time="20" selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, contentTypeNumber)}}" stepKey="waitForContentTypeInStageVisible"/>
1919
<moveMouseOver stepKey="moveMouseOverSearch" selector="{{PageBuilderPanel.searchPanel}}" />
2020
<executeJS function="return ['row', 'column'].include('{{contentType.role}}') ? '//div[contains(@class, &quot;pagebuilder-display-label&quot;) and contains(.,&quot;'+'{{contentType.role}}'.toUpperCase()+'&quot;)]' : ['tabs'].include('{{contentType.role}}') ? '//ul[@data-element=&quot;navigation&quot;]' : '';" stepKey="contentTypeLabelSelector" />
21-
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStageByIndex(contentType.role, contentTypeNumber)}}{$contentTypeLabelSelector}" x="{{x}}" y="{{y}}" stepKey="onMouseOverContentTypeStage"/>
21+
<executeJS function="return ['row'].include('{{contentType.role}}') ? '(//div[contains(@class, &quot;pagebuilder-content-type-affordance&quot;) and contains(@class, &quot;pagebuilder-affordance-{{contentType.role}}&quot;)])[{{contentTypeNumber}}]' : '(//div[contains(@class, &quot;pagebuilder-content-type&quot;) and contains(@class, &quot;pagebuilder-{{contentType.role}}&quot;)])[{{contentTypeNumber}}]';" stepKey="contentTypeByIndexSelector" />
22+
<moveMouseOver selector="{$contentTypeByIndexSelector}{$contentTypeLabelSelector}" x="{{x}}" y="{{y}}" stepKey="onMouseOverContentTypeStage"/>
2223
<waitForPageLoad stepKey="waitForOptionsAnimation"/>
2324
<waitForElementVisible time="10" selector="{{PageBuilderContentTypeOptionsMenu.contentTypeOptionsMenuByIndex(contentType.role, contentTypeNumber)}}" stepKey="waitForOptions"/>
2425
<click selector="{{PageBuilderContentTypeOptionsMenu.contentTypeRemoveByIndex(contentType.role, contentTypeNumber)}}" stepKey="clickRemoveContentType"/>

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,14 @@
172172
<data key="name">Box Shadow</data>
173173
<data key="value">rgb(153, 153, 153) 0px 0px 0px 1px</data>
174174
</entity>
175+
<entity name="PageBuilderBoxShadowProperty_Affordance" type="pagebuilder_box_shadow_property">
176+
<data key="name">Box Shadow</data>
177+
<data key="value">rgba(197, 197, 197, 0.34) 0px 0px 0px 1px</data>
178+
</entity>
179+
<entity name="PageBuilderBoxShadowOnHoverProperty_Affordance" type="pagebuilder_box_shadow_property">
180+
<data key="name">Box Shadow</data>
181+
<data key="value">rgb(197, 197, 197) 0px 0px 0px 1px</data>
182+
</entity>
175183
<!-- XSS Payload -->
176184
<entity name="PageBuilderXSSPayloadProperty" type="pagebuilder_xss_payload">
177185
<data key="value">&gt;&lt;img src=x onerror=throw(1)&gt;</data>

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,18 @@
55
* See COPYING.txt for license details.
66
*/
77
-->
8-
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9-
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
8+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
109
<entity name="PageBuilderRowDefaultHeight" type="pagebuilder_row">
1110
<data key="value">300</data>
1211
</entity>
12+
<entity name="PageBuilderRowAffordanceWidth" type="pagebuilder_row">
13+
<data key="borderWidth">15</data>
14+
<data key="bottom">15</data>
15+
<data key="left">15</data>
16+
<data key="right">15</data>
17+
<data key="top">15</data>
18+
<data key="value">30</data>
19+
</entity>
1320
<!-- Appearance -->
1421
<entity name="PageBuilderRowAppearance_Contained" type="pagebuilder_row_background_appearance_property">
1522
<data key="name">Appearance</data>

0 commit comments

Comments
 (0)