Skip to content

Commit d802c59

Browse files
committed
MAGETWO-91970: Enable wrapping of Heading toolbar menu
- add test to check for wrapping by button position assertion
1 parent 18a1aa7 commit d802c59

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<element name="headingTypeToolbarSelected" type="text" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//a[contains(@class, 'toolbar-active')]//span[text()='{{arg2}}']" parameterized="true"/>
2020
<element name="headingTextAlignToolbar" type="button" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//i[contains(@class,'icon-pagebuilder-align-{{arg2}}')]" parameterized="true"/>
2121
<element name="headingTextAlignToolbarSelected" type="button" selector="(//div[contains(@class,'pagebuilder-heading')])[{{arg1}}]//a[contains(@class, 'toolbar-active')]//i[contains(@class,'icon-pagebuilder-align-{{arg2}}')]" parameterized="true"/>
22+
<element name="headingToolbarButtonViewportPositionTop" type="button" selector="return document.querySelector('.pagebuilder-toolbar-options-wrapper ul:{{arg1}}-child li:{{arg1}}-child').getBoundingClientRect().top;" parameterized="true"/>
2223
<!-- Advanced Configuration -->
2324
<element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-heading')]//{{arg1}})[{{arg2}}][contains(@style,'text-align: {{arg3}};')]" parameterized="true"/>
2425
<element name="noAlignment" type="text" selector="(//{{arg1}})[{{arg2}}][not(contains(@style,'text-align:'))]" parameterized="true"/>

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

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,4 +1501,53 @@
15011501
<argument name="index" value="4"/>
15021502
</actionGroup>
15031503
</test>
1504+
<test name="HeadingToolbarButtonsCanWrap">
1505+
<annotations>
1506+
<features value="Pagebuilder"/>
1507+
<stories value="Heading"/>
1508+
<title value="Heading Toolbar Buttons Can Wrap"/>
1509+
<description value="Inline edit toolbar button items can wrap on multiple lines when in a one-sixth column"/>
1510+
<severity value="CRITICAL"/>
1511+
<useCaseId value="MAGETWO-88142"/>
1512+
<testCaseId value="MAGETWO-92000"/>
1513+
<group value="pagebuilder"/>
1514+
<group value="pagebuilder-heading"/>
1515+
</annotations>
1516+
<before>
1517+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
1518+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
1519+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
1520+
</before>
1521+
<after>
1522+
<actionGroup ref="logout" stepKey="logout"/>
1523+
</after>
1524+
<actionGroup ref="dragContentTypeToContainer" stepKey="dragFirstTwoColumns">
1525+
<argument name="contentType" value="PageBuilderColumnContentType"/>
1526+
<argument name="containerTargetType" value="PageBuilderRowContentType"/>
1527+
<argument name="containerTargetIndex" value="1"/>
1528+
<argument name="contentTypeIndex" value="1"/>
1529+
</actionGroup>
1530+
<actionGroup ref="dragContentTypeToContainer" stepKey="dragThirdColumn">
1531+
<argument name="contentType" value="PageBuilderColumnContentType"/>
1532+
<argument name="containerTargetType" value="PageBuilderColumnContentType"/>
1533+
<argument name="containerTargetIndex" value="1" />
1534+
<argument name="contentTypeIndex" value="3"/>
1535+
</actionGroup>
1536+
<actionGroup ref="dragContentTypeToContainer" stepKey="dragHeading1ToFirstColumn">
1537+
<argument name="contentType" value="PageBuilderHeadingContentType"/>
1538+
<argument name="containerTargetType" value="PageBuilderColumnContentType"/>
1539+
<argument name="containerTargetIndex" value="1"/>
1540+
<argument name="contentTypeIndex" value="1"/>
1541+
</actionGroup>
1542+
<resizeWindow width="767" height="1000" stepKey="resizeWindowToMobile"/>
1543+
<!-- Stage: Check toolbar buttons have wrapped -->
1544+
<comment userInput="Stage: Check toolbar buttons have wrapped" stepKey="commentStageCheckToolbarButtonsAreWrapped"/>
1545+
<executeJS function="{{HeadingOnStage.headingToolbarButtonViewportPositionTop('first')}}" stepKey="actualFirstButtonYPosition"/>
1546+
<executeJS function="{{HeadingOnStage.headingToolbarButtonViewportPositionTop('last')}}" stepKey="actualLastButtonYPosition"/>
1547+
<!-- Assert first button y-coordinate is less than last button y-coordinate -->
1548+
<assertLessThan message="AssertButtonPositions" stepKey="assertSecondButtonIsBelowFirstButton">
1549+
<actualResult type="variable">actualFirstButtonYPosition</actualResult>
1550+
<expectedResult type="variable">actualLastButtonYPosition</expectedResult>
1551+
</assertLessThan>
1552+
</test>
15041553
</tests>

0 commit comments

Comments
 (0)