Skip to content

Commit 7a78262

Browse files
committed
MC-5025: Right/Left Margin Not Working For Content Types
- move new action group to its own file - update test description - include border property calc in action group
1 parent 84ad34a commit 7a78262

File tree

3 files changed

+72
-29
lines changed

3 files changed

+72
-29
lines changed

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

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -460,32 +460,4 @@
460460
<waitForElementVisible selector="{{page.noMargins(index)}}" stepKey="waitForMarginVisible"/>
461461
<waitForElementVisible selector="{{page.noPadding(index)}}" stepKey="waitForPaddingVisible"/>
462462
</actionGroup>
463-
<actionGroup name="validatePositionRightWithinContainer">
464-
<arguments>
465-
<argument name="content" type="string"/>
466-
<argument name="contentMargins" defaultValue="PageBuilderMarginsPropertyDefault"/>
467-
<argument name="container" type="string"/>
468-
<argument name="containerPadding" defaultValue="PageBuilderPaddingPropertyDefault"/>
469-
<argument name="index" defaultValue="1" type="string"/>
470-
<argument name="pixelBuffer" defaultValue="5" type="string"/>
471-
</arguments>
472-
<!-- Validate right edge of content is within parent -->
473-
<comment userInput="Validate right edge of content is within parent" stepKey="commentValidateRightEdgeOfContentIsWithinParent"/>
474-
<executeJS function="return document.querySelectorAll('{{content}}')[{{index}}-1].getBoundingClientRect().right+{{contentMargins.marginRight}}" stepKey="contentRightPosition"/>
475-
<executeJS function="return document.querySelectorAll('{{container}}')[{{index}}-1].getBoundingClientRect().right-{{containerPadding.paddingRight}}" stepKey="parentRightPosition"/>
476-
<executeJS function="return Math.round(Math.abs({$contentRightPosition}-{$parentRightPosition}))" stepKey="rightPositionDifference"/>
477-
<assertLessThanOrEqual stepKey="assertRightPositionDifference">
478-
<expectedResult type="int">{{pixelBuffer}}</expectedResult>
479-
<actualResult type="variable">rightPositionDifference</actualResult>
480-
</assertLessThanOrEqual>
481-
<!-- Validate width of content and width of container are equal -->
482-
<comment userInput="Validate width of content and width of container are equal" stepKey="commentValidateWidthOfContentAndWidthOfContainerAreEqual"/>
483-
<executeJS function="return document.querySelectorAll('{{content}}')[{{index}}-1].getBoundingClientRect().width+{{contentMargins.marginLeft}}+{{contentMargins.marginRight}}" stepKey="contentWidth"/>
484-
<executeJS function="return document.querySelectorAll('{{container}}')[{{index}}-1].getBoundingClientRect().width-{{containerPadding.paddingLeft}}-{{containerPadding.paddingRight}}" stepKey="parentWidth"/>
485-
<executeJS function="return Math.round(Math.abs({$contentWidth}-{$parentWidth}))" stepKey="widthDifference"/>
486-
<assertLessThanOrEqual stepKey="assertWidthDifference">
487-
<expectedResult type="int">{{pixelBuffer}}</expectedResult>
488-
<actualResult type="variable">widthDifference</actualResult>
489-
</assertLessThanOrEqual>
490-
</actionGroup>
491463
</actionGroups>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<!-- Element Position -->
12+
<actionGroup name="validatePositionRightWithinContainer">
13+
<arguments>
14+
<argument name="content" type="string"/>
15+
<argument name="contentMargins" defaultValue="PageBuilderMarginsPropertyDefault"/>
16+
<argument name="container" type="string"/>
17+
<argument name="containerBorder" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/>
18+
<argument name="containerPadding" defaultValue="PageBuilderPaddingPropertyDefault"/>
19+
<argument name="index" defaultValue="1" type="string"/>
20+
<argument name="pixelBuffer" defaultValue="5" type="string"/>
21+
</arguments>
22+
<!-- Validate right edge of content is within parent -->
23+
<comment userInput="Validate right edge of content is within parent" stepKey="commentValidateRightEdgeOfContentIsWithinParent"/>
24+
<executeJS function="return document.querySelectorAll('{{content}}')[{{index}}-1].getBoundingClientRect().right+{{contentMargins.marginRight}}" stepKey="contentRightPosition"/>
25+
<executeJS function="return document.querySelectorAll('{{container}}')[{{index}}-1].getBoundingClientRect().right-{{containerPadding.paddingRight}}-({{containerBorder.value}}*2)" stepKey="parentRightPosition"/>
26+
<executeJS function="return Math.round({$parentRightPosition}-{$contentRightPosition})" stepKey="rightPositionDifference"/>
27+
<assertLessThanOrEqual stepKey="assertRightPositionDifference">
28+
<expectedResult type="int">{{pixelBuffer}}</expectedResult>
29+
<actualResult type="variable">rightPositionDifference</actualResult>
30+
</assertLessThanOrEqual>
31+
</actionGroup>
32+
<!-- Element Size -->
33+
<actionGroup name="validateContentWidthEqualToContainerWidth">
34+
<arguments>
35+
<argument name="content" type="string"/>
36+
<argument name="contentMargins" defaultValue="PageBuilderMarginsPropertyDefault"/>
37+
<argument name="container" type="string"/>
38+
<argument name="containerBorder" defaultValue="PageBuilderAdvancedBorderWidthProperty0"/>
39+
<argument name="containerPadding" defaultValue="PageBuilderPaddingPropertyDefault"/>
40+
<argument name="index" defaultValue="1" type="string"/>
41+
<argument name="pixelBuffer" defaultValue="5" type="string"/>
42+
</arguments>
43+
<!-- Validate width of content and width of container are equal -->
44+
<comment userInput="Validate width of content and width of container are equal" stepKey="commentValidateWidthOfContentAndWidthOfContainerAreEqual"/>
45+
<executeJS function="return document.querySelectorAll('{{content}}')[{{index}}-1].getBoundingClientRect().width+{{contentMargins.marginLeft}}+{{contentMargins.marginRight}}" stepKey="contentWidth"/>
46+
<executeJS function="return document.querySelectorAll('{{container}}')[{{index}}-1].getBoundingClientRect().width-{{containerPadding.paddingLeft}}-{{containerPadding.paddingRight}}-({{containerBorder.value}}*2)" stepKey="parentWidth"/>
47+
<executeJS function="return Math.round(Math.abs({$contentWidth}-{$parentWidth}))" stepKey="widthDifference"/>
48+
<assertLessThanOrEqual stepKey="assertWidthDifference">
49+
<expectedResult type="int">{{pixelBuffer}}</expectedResult>
50+
<actualResult type="variable">widthDifference</actualResult>
51+
</assertLessThanOrEqual>
52+
</actionGroup>
53+
</actionGroups>

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<features value="PageBuilder"/>
1414
<stories value="Banner"/>
1515
<title value="Poster - With margin stays inside of parent container"/>
16-
<description value="Verify that a Banner with margin stays inside parent container"/>
16+
<description value="Verify that a Banner poster with margin stays inside parent container"/>
1717
<severity value="MAJOR"/>
1818
<useCaseId value="MC-5025"/>
1919
<testCaseId value="MC-5840"/>
@@ -55,6 +55,12 @@
5555
<argument name="container" value="{{RowOnStage.baseCss}}"/>
5656
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
5757
</actionGroup>
58+
<actionGroup ref="validateContentWidthEqualToContainerWidth" stepKey="validateContentWidthEqualToContainerWidthBeforeSave">
59+
<argument name="content" value="{{BannerOnBackend.baseCSS}}"/>
60+
<argument name="contentMargins" value="PageBuilderMarginsProperty_50"/>
61+
<argument name="container" value="{{RowOnStage.baseCss}}"/>
62+
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
63+
</actionGroup>
5864
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
5965
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
6066
<!-- Validate stage after save -->
@@ -65,6 +71,12 @@
6571
<argument name="container" value="{{RowOnStage.baseCss}}"/>
6672
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
6773
</actionGroup>
74+
<actionGroup ref="validateContentWidthEqualToContainerWidth" stepKey="validateContentWidthEqualToContainerWidthAfterSave">
75+
<argument name="content" value="{{BannerOnBackend.baseCSS}}"/>
76+
<argument name="contentMargins" value="PageBuilderMarginsProperty_50"/>
77+
<argument name="container" value="{{RowOnStage.baseCss}}"/>
78+
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
79+
</actionGroup>
6880
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
6981
<argument name="contentType" value="PageBuilderBannerContentType"/>
7082
</actionGroup>
@@ -76,6 +88,12 @@
7688
<argument name="container" value="{{RowOnStorefront.innerCSS}}"/>
7789
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
7890
</actionGroup>
91+
<actionGroup ref="validateContentWidthEqualToContainerWidth" stepKey="validateContentWidthEqualToContainerWidthStorefront">
92+
<argument name="content" value="{{BannerOnFrontend.baseCSS}}"/>
93+
<argument name="contentMargins" value="PageBuilderMarginsProperty_50"/>
94+
<argument name="container" value="{{RowOnStorefront.innerCSS}}"/>
95+
<argument name="containerPadding" value="PageBuilderPaddingPropertyRowDefault"/>
96+
</actionGroup>
7997
</test>
8098
<test name="BannerPosterCanInlineEditContent">
8199
<annotations>

0 commit comments

Comments
 (0)