Skip to content

Commit 73a9c23

Browse files
committed
MC-13769: Add Missing P0-P1 MFTF Tests For PageBuilder On CMS Block - Render Content Through Block
- Fixing tabs & slider tests rendered through block - Updating/Adding supporting data, sections, actiongroups - Updating affected tests
1 parent 6b40c13 commit 73a9c23

File tree

8 files changed

+441
-213
lines changed

8 files changed

+441
-213
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,25 @@
5151
<waitForPageLoad stepKey="waitForPageLoad2"/>
5252
<waitForElementVisible selector="{{TabOnStage.tabHeader(tabItemIndexToMove)}}" stepKey="waitForTabItem2"/>
5353
</actionGroup>
54+
<actionGroup name="validateTabHeadersAlignedCenter">
55+
<arguments>
56+
<argument name="tabGroupSection" defaultValue="TabsOnStage"/>
57+
<argument name="tabItemSection" defaultValue="TabOnStage"/>
58+
<argument name="tabGroupIndex" defaultValue="1" type="string"/>
59+
<argument name="acceptableOffset" defaultValue="2" type="string"/>
60+
</arguments>
61+
<comment userInput="validateTabHeadersAlignedCenter" stepKey="comment"/>
62+
<executeJS function="return document.querySelectorAll('{{tabGroupSection.baseCSS}}')[{{tabGroupIndex}}-1].getBoundingClientRect().right" stepKey="tabGroupRightPosition"/>
63+
<executeJS function="return document.querySelectorAll('{{tabGroupSection.baseCSS}}')[{{tabGroupIndex}}-1].getBoundingClientRect().width" stepKey="tabGroupWidth"/>
64+
<executeJS function="return Math.round({$tabGroupRightPosition} - ({$tabGroupWidth} / 2))" stepKey="tabGroupCenterPosition"/>
65+
<executeJS function="return (document.querySelectorAll('{{tabGroupSection.baseCSS}}')[{{tabGroupIndex}}-1]).querySelectorAll('{{tabItemSection.tabHeaderCSS}}')[0].getBoundingClientRect().left" stepKey="firstTabHeaderLeftPosition"/>
66+
<executeJS function="return (document.querySelectorAll('{{tabGroupSection.baseCSS}}')[{{tabGroupIndex}}-1]).querySelectorAll('{{tabItemSection.tabHeaderCSS}}')[(document.querySelectorAll('{{tabGroupSection.baseCSS}}')[{{tabGroupIndex}}-1]).querySelectorAll('{{tabItemSection.tabHeaderCSS}}').length-1].getBoundingClientRect().right" stepKey="lastTabHeaderRightPosition"/>
67+
<executeJS function="return Math.abs({$lastTabHeaderRightPosition} - {$firstTabHeaderLeftPosition})" stepKey="tabHeaderGroupWidth"/>
68+
<executeJS function="return Math.round({$lastTabHeaderRightPosition} - ({$tabHeaderGroupWidth} / 2))" stepKey="tabHeaderGroupCenterPosition"/>
69+
<executeJS function="return Math.abs({$tabGroupCenterPosition} - {$tabHeaderGroupCenterPosition})" stepKey="positionDifference"/>
70+
<assertLessThanOrEqual stepKey="assertPositionAcceptable">
71+
<expectedResult type="int">{{acceptableOffset}}</expectedResult>
72+
<actualResult type="variable">positionDifference</actualResult>
73+
</assertLessThanOrEqual>
74+
</actionGroup>
5475
</actionGroups>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
<data key="fieldName">min_height</data>
1616
<data key="value"/>
1717
</entity>
18+
<entity name="PageBuilderMinHeightProperty_0" type="pagebuilder_min_height_property">
19+
<data key="name">Minimum Height</data>
20+
<data key="section">layout</data>
21+
<data key="fieldName">min_height</data>
22+
<data key="value">0</data>
23+
<data key="style">min-height: 0px</data>
24+
</entity>
1825
<entity name="PageBuilderMinHeightProperty_500" type="pagebuilder_min_height_property">
1926
<data key="name">Minimum Height</data>
2027
<data key="section">layout</data>

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@
5858
<data key="fieldName">min_height</data>
5959
<data key="value">100</data>
6060
</entity>
61+
<entity name="PageBuilderSlideItemMinimumHeight_Empty" type="pagebuilder_slide_item_minimum_height_property">
62+
<data key="name">Minimum Height</data>
63+
<data key="section">appearance_fieldset</data>
64+
<data key="fieldName">min_height</data>
65+
<data key="value"/>
66+
</entity>
6167
<!-- Background Color -->
6268
<entity name="PageBuilderSlideItemBackgroundColor_Empty" type="pagebuilder_slide_item_background_color_property">
6369
<data key="name">Background Color</data>

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@
8787
<data key="value">true</data>
8888
</entity>
8989
<!-- Minimum Height -->
90+
<entity name="PageBuilderSliderMinHeight_500" type="pagebuilder_slider_min_height_property">
91+
<data key="name">Minimum Height</data>
92+
<data key="section">settings</data>
93+
<data key="fieldName">min_height</data>
94+
<data key="value">500</data>
95+
</entity>
9096
<entity name="PageBuilderSliderMinHeight_Default" type="pagebuilder_slider_min_height_property">
9197
<data key="name">Minimum Height</data>
9298
<data key="section">settings</data>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
<element name="hidden" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}][contains(@style,'display: none')]" parameterized="true"/>
1515
<element name="notHidden" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}][not(contains(@style,'display: none'))]" parameterized="true"/>
1616
<element name="slideNavigationDot" type="button" selector="((//div[@data-content-type='slider'])[{{arg1}}]//ul[@class='slick-dots']//button)[{{arg2}}]" parameterized="true"/>
17+
<element name="previousSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-prev')]" parameterized="true"/>
18+
<element name="nextSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-next')]" parameterized="true"/>
1719
<!-- Settings Configuration -->
1820
<element name="autoPlay" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}][@data-autoplay='{{arg2}}']" parameterized="true"/>
1921
<element name="autoPlaySpeed" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}][@data-autoplay-speed='{{arg2}}']" parameterized="true"/>
@@ -41,6 +43,8 @@
4143
<element name="hidden" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
4244
<element name="notHidden" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
4345
<element name="slideNavigationDot" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//div[contains(@class,'navigation-dot')][{{arg2}}]" parameterized="true"/>
46+
<element name="previousSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-prev')]" parameterized="true"/>
47+
<element name="nextSlideArrow" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//button[contains(@class,'slick-arrow') and contains(@class,'slick-next')]" parameterized="true"/>
4448
<element name="activeSlideNavigationDot" type="button" selector="div.navigation-dot.active"/>
4549
<element name="slideNavigationDotNameTooltip" type="button" selector="(//div[@data-content-type='slider'])[{{arg1}}]//span[@role='tooltip']" parameterized="true"/>
4650
<element name="slideNavigationDragHandle" type="button" selector="a.navigation-dot-anchor"/>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="TabsOnStage">
1111
<element name="base" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}]" parameterized="true"/>
12+
<element name="baseCSS" type="button" selector="[data-content-type=tabs]"/>
1213
<element name="hidden" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>
1314
<element name="notHidden" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}]/parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]" parameterized="true"/>
1415
<element name="tabsContainer" type="button" selector="//div[contains(@class,'pagebuilder-tabs')]"/>
@@ -27,6 +28,7 @@
2728
</section>
2829
<section name="TabsOnFrontend">
2930
<element name="base" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}]" parameterized="true"/>
31+
<element name="baseCSS" type="button" selector="[data-content-type=tabs]"/>
3032
<element name="hidden" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}][contains(@style, 'display: none')]" parameterized="true"/>
3133
<element name="notHidden" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}][not(contains(@style, 'display: none'))]" parameterized="true"/>
3234
<element name="tabsMinHeight" type="button" selector="//div[@data-content-type='tabs']//div[@class='tabs-content'][contains(@style, 'min-height: {{arg1}}px')]" parameterized="true"/>
@@ -43,6 +45,7 @@
4345
<element name="all" type="button" selector=".pagebuilder-tab-item"/>
4446
<element name="moveHandle" type="button" selector="(//div[@data-content-type='tabs'])[{{arg1}}]//li[@role='tab'][{{arg2}}]//span[@class='tab-drag-handle']" parameterized="true"/>
4547
<element name="tabHeader" type="button" selector="(//ul[contains(@class, 'tabs-navigation')]//a[contains(@class, 'tab-title')])[{{arg1}}]" parameterized="true"/>
48+
<element name="tabHeaderCSS" type="button" selector="[data-content-type=tabs] [role=presentation]"/>
4649
<element name="tabHeaderEditableTitle" type="button" selector="(//ul[contains(@class, 'tabs-navigation')]//a[contains(@class, 'tab-title')])[{{arg1}}]//span[contains(@contenteditable, 'true')]" parameterized="true"/>
4750
<element name="tabHeaderItemDefault" type="button" selector="//ul[contains(@class, 'tabs-navigation')]/li[contains(@style, 'border-radius: {{arg1}}px;') and contains(@style, 'border-width: 1px;')]" parameterized="true"/>
4851
<element name="tabHeaderItemActive" type="button" selector="//ul[contains(@class, 'tabs-navigation')]/li[{{arg1}}][contains(@class, 'ui-state-active')]" parameterized="true"/>
@@ -90,8 +93,10 @@
9093
<section name="TabOnStorefront">
9194
<element name="all" type="button" selector="[data-content-type=\'tab-item\']"/>
9295
<element name="base" type="button" selector="(//div[@data-content-type='tab-item'])[{{arg1}}]" parameterized="true"/>
96+
<element name="baseCSS" type="button" selector="[data-content-type=tab-item]"/>
9397
<element name="baseJS" type="text" selector="document.querySelectorAll('[data-content-type=tab-item]')[{{arg1}} - 1]" parameterized="true"/>
9498
<element name="tabHeader" type="button" selector="(//li[contains(@role, 'tab')])[{{arg1}}]" parameterized="true"/>
99+
<element name="tabHeaderCSS" type="button" selector="[data-content-type=tabs] [role=presentation]"/>
95100
<element name="tabHeaderItemActive" type="button" selector="(//div[@data-content-type='tabs']//descendant::*[@role='tablist'])/li[{{arg1}}][contains(@class, 'ui-state-active')]" parameterized="true"/>
96101
<element name="tabPanel" type="button" selector="(//div[@class='tabs-content']//div[@role='tabpanel'])[{{arg1}}]" parameterized="true"/>
97102
<element name="tabContent" type="button" selector="div.tabs-content div[data-content-type=tab-item]:nth-child({{arg1}})" parameterized="true"/>

0 commit comments

Comments
 (0)