Skip to content

Commit c9ca243

Browse files
committed
MC-4112: Tab Item Children Assumes Parent Minimum Height
- add MFTF test
1 parent 03fa152 commit c9ca243

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<element name="tabsNavAligned" type="button" selector="(//div[@data-role='tabs']//descendant::*[@role='tablist'][contains(@style, 'text-align: {{arg1}};')])" parameterized="true"/>
3333
<element name="tabsContentAdvancedStyles" type="button" selector="//div[@class='tabs-content'][contains(@style, 'border-style: solid;')][contains(@style, 'border-color: rgb(0, 0, 0);')][contains(@style, 'border-width: 10px;')][contains(@style, 'border-radius: 12px;')][contains(@style, 'min-height: 300px;')]"/>
3434
<element name="tabsAlignment" type="text" selector="//div[@class='tabs-content'and contains(@style,'text-align: {{arg1}}')]" parameterized="true"/>
35+
<element name="tabsContentHeightJS" type="button" selector="document.querySelectorAll('[class=tabs-content]')[{{arg1}}].clientHeight" parameterized="true"/>
3536
</section>
3637
<section name="TabOnStage">
3738
<element name="base" type="button" selector="(//div[@data-role='tab-item'])[{{arg1}}]" parameterized="true"/>
@@ -61,6 +62,7 @@
6162
<element name="tabContentBackgroundRepeat" type="button" selector="//*[@role='tabpanel'][{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')][contains(@style, 'background-repeat: {{arg2}}')]" parameterized="true"/>
6263
<element name="tabContentBorderWidth" type="button" selector="//*[@role='tabpanel'][{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')][contains(@style, 'border-width: {{arg2}}')]" parameterized="true"/>
6364
<element name="tabContentBorderRadius" type="button" selector="//*[@role='tabpanel'][{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')][contains(@style, 'border-radius: {{arg2}}')]" parameterized="true"/>
65+
<element name="tabContentHeightJS" type="button" selector="document.querySelectorAll('[data-role=tab-item]')[{{arg1}}].clientHeight" parameterized="true"/>
6466
<element name="tabContentMargin" type="button" selector="//*[@role='tabpanel'][{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')][contains(@style, 'margin: {{arg2}}')]" parameterized="true"/>
6567
<element name="tabContentPadding" type="button" selector="//*[@role='tabpanel'][{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')][contains(@style, 'padding: {{arg2}}')]" parameterized="true"/>
6668
<element name="container" type="button" selector="(//*[@role='tabpanel'])[{{arg1}}]//div[contains(@class, 'pagebuilder-tab-item')]//div[contains(@class, 'tab-item-container')]" parameterized="true"/>

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

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,4 +971,64 @@
971971
<argument name="containerTargetIndex" value="1"/>
972972
</actionGroup>
973973
</test>
974+
<test name="TabMaintainsDefaultMinimumHeightWithContent">
975+
<annotations>
976+
<features value="PageBuilder"/>
977+
<stories value="Tabs"/>
978+
<title value="Tabs Content - Add Heading to Tabs container and verify minimum height on Admin and Storefront"/>
979+
<description value="As a Content Manager I want tab to be a container so that I can add any content inside the Tab, not only text"/>
980+
<severity value="CRITICAL"/>
981+
<useCaseId value="MC-964"/>
982+
<testCaseId value="MC-4209"/>
983+
<group value="pagebuilder"/>
984+
<group value="pagebuilder-tabs-content"/>
985+
</annotations>
986+
<before>
987+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
988+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
989+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
990+
</before>
991+
<after>
992+
<actionGroup ref="logout" stepKey="logout"/>
993+
</after>
994+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
995+
<argument name="contentType" value="PageBuilderTabsContentType"/>
996+
</actionGroup>
997+
<!-- Add Tabs to Stage -->
998+
<comment userInput="Add Tabs to Stage" stepKey="addTabsToStage"/>
999+
<actionGroup ref="dragContentTypeToStage" stepKey="dragTabsIntoStage">
1000+
<argument name="contentType" value="PageBuilderTabsContentType"/>
1001+
</actionGroup>
1002+
<!-- Add Heading to Tab -->
1003+
<comment userInput="Add Heading to Tab" stepKey="addHeadingToTab"/>
1004+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
1005+
<argument name="group" value="PageBuilderHeadingContentType"/>
1006+
</actionGroup>
1007+
<actionGroup ref="dragContentTypeToContainer" stepKey="dragHeadingOntoTab">
1008+
<argument name="contentType" value="PageBuilderHeadingContentType"/>
1009+
<argument name="containerTargetType" value="PageBuilderTabContentType"/>
1010+
<argument name="containerTargetIndex" value="1" />
1011+
</actionGroup>
1012+
<actionGroup ref="enterHeadingOnStage" stepKey="enterHeadingOnStage">
1013+
<argument name="index" value="1"/>
1014+
<argument name="headingText" value="PageBuilderHeadingTextProperty"/>
1015+
<argument name="headingType" value="PageBuilderHeadingTypeProperty_H1"/>
1016+
<argument name="headingAlignment" value="PageBuilderHeadingAlignmentProperty_center"/>
1017+
</actionGroup>
1018+
<actionGroup ref="clickOutsideLiveEditHeading" stepKey="clickOutsideLiveEditHeading">
1019+
<argument name="index" value="1"/>
1020+
</actionGroup>
1021+
<executeJS function="return {{TabOnStage.tabContentHeightJS('0')}}" stepKey="tabContentHeightStage"/>
1022+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
1023+
<!-- Verify Tab height on storefront -->
1024+
<comment userInput="Verify Tab height on storefront" stepKey="viewTabOnStorefront"/>
1025+
<amOnPage url="tabs{{PageBuilderPageTitle.pageName}}" stepKey="amOnPageBuilderPage"/>
1026+
<waitForPageLoad stepKey="waitForStoreFrontPageLoad" time="30"/>
1027+
<waitForElementVisible selector="{{TabOnStorefront.tabContent('1')}}" stepKey="waitForTabContentVisible"/>
1028+
<executeJS function="return {{TabsOnFrontend.tabsContentHeightJS('0')}}" stepKey="tabContentHeightStorefront"/>
1029+
<assertEquals stepKey="assertTabHeightStorefrontEqualsStage">
1030+
<expectedResult type="variable">tabContentHeightStage</expectedResult>
1031+
<actualResult type="variable">tabContentHeightStorefront</actualResult>
1032+
</assertEquals>
1033+
</test>
9741034
</tests>

0 commit comments

Comments
 (0)