Skip to content

Commit 95509b2

Browse files
committed
PB-95: Video background for Row
- Adding MFTF test for validating video aspect ratio
1 parent 20a4a13 commit 95509b2

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,4 +462,24 @@
462462
</annotations>
463463
<dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="seeVideoInDOM"/>
464464
</actionGroup>
465+
<actionGroup name="validateVideoAspectRatio">
466+
<annotations>
467+
<description>Validates that the video in the video background has the correct aspect ratio.</description>
468+
</annotations>
469+
<arguments>
470+
<argument name="section" defaultValue="RowOnStage"/>
471+
<argument name="expectedAspectRatio" defaultValue="1" type="string"/>
472+
<argument name="index" defaultValue="1" type="string"/>
473+
<argument name="acceptableOffset" defaultValue="5" type="string"/>
474+
</arguments>
475+
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoBackgroundElement"/>
476+
<executeJS function="return document.evaluate(&quot;{{section.videoBackgroundVideoElement(index)}}&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.getBoundingClientRect().width" stepKey="actualVideoWidth"/>
477+
<executeJS function="return document.evaluate(&quot;{{section.videoBackgroundVideoElement(index)}}&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.getBoundingClientRect().height" stepKey="actualVideoHeight"/>
478+
<executeJS function="return {$actualVideoWidth} / {$actualVideoHeight}" stepKey="actualVideoAspectRatio"/>
479+
<executeJS function="return ({$actualVideoAspectRatio} * 1000) - ({{expectedAspectRatio}} * 1000)" stepKey="actualMinusExpected"/>
480+
<assertLessThanOrEqual stepKey="assertAcceptableAspectRatio">
481+
<actualResult type="variable">actualMinusExpected</actualResult>
482+
<expectedResult type="int">{{acceptableOffset}}</expectedResult>
483+
</assertLessThanOrEqual>
484+
</actionGroup>
465485
</actionGroups>

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

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2197,4 +2197,120 @@
21972197
<argument name="index" value="4"/>
21982198
</actionGroup>
21992199
</test>
2200+
<test name="RowValidateVideoBackgroundAspectRatio">
2201+
<annotations>
2202+
<features value="PageBuilder"/>
2203+
<stories value="Row"/>
2204+
<title value="Validate Video Background Aspect Ratio"/>
2205+
<description value="Verify that the video background aspect ratio is maintained in each appearance."/>
2206+
<severity value="CRITICAL"/>
2207+
<useCaseId value="PB-95"/>
2208+
<testCaseId value="MC-31468"/>
2209+
<group value="pagebuilder"/>
2210+
<group value="pagebuilder-row"/>
2211+
<group value="pagebuilder-rowBackground"/>
2212+
<group value="pagebuilder-video-background"/>
2213+
</annotations>
2214+
<before>
2215+
<createData entity="_emptyCmsPage" stepKey="createCMSPage"/>
2216+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
2217+
<actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage">
2218+
<argument name="CMSPage" value="$$createCMSPage$$"/>
2219+
</actionGroup>
2220+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
2221+
</before>
2222+
<after>
2223+
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
2224+
<actionGroup ref="logout" stepKey="logout"/>
2225+
</after>
2226+
<!-- Get Aspect Ratio of Actual Video -->
2227+
<openNewTab stepKey="openNewTab"/>
2228+
<amOnUrl url="{{PageBuilderVideoBackgroundUrl_Mp4_URL.value}}" stepKey="openVideo"/>
2229+
<executeJS function="return document.querySelector('video').getBoundingClientRect().width" stepKey="expectedVideoWidth"/>
2230+
<executeJS function="return document.querySelector('video').getBoundingClientRect().height" stepKey="expectedVideoHeight"/>
2231+
<executeJS function="return {$expectedVideoWidth} / {$expectedVideoHeight}" stepKey="expectedVideoAspectRatio"/>
2232+
<closeTab stepKey="closeTab"/>
2233+
<!-- Add Video to Contained Row -->
2234+
<actionGroup ref="openPageBuilderEditPanelByIndex" stepKey="openEditMenuOnStage1">
2235+
<argument name="contentType" value="PageBuilderRowContentType"/>
2236+
<argument name="contentTypeIndex" value="1"/>
2237+
</actionGroup>
2238+
<actionGroup ref="chooseVisualSelectOption" stepKey="setAppearance">
2239+
<argument name="property" value="PageBuilderRowAppearance_Contained"/>
2240+
</actionGroup>
2241+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterMinHeightProperty1">
2242+
<argument name="property" value="PageBuilderMinHeightProperty_200"/>
2243+
</actionGroup>
2244+
<actionGroup ref="chooseVisualSelectOption" stepKey="setBackgroundType">
2245+
<argument name="property" value="PageBuilderRowBackgroundType_Video"/>
2246+
</actionGroup>
2247+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrl">
2248+
<argument name="property" value="PageBuilderVideoBackgroundUrl_Mp4_URL"/>
2249+
</actionGroup>
2250+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings1"/>
2251+
<!-- Create 2 more Rows -->
2252+
<actionGroup ref="duplicateContentType" stepKey="duplicateRow1">
2253+
<argument name="contentType" value="PageBuilderRowContentType"/>
2254+
<argument name="targetIndex" value="1"/>
2255+
</actionGroup>
2256+
<actionGroup ref="duplicateContentType" stepKey="duplicateRow2">
2257+
<argument name="contentType" value="PageBuilderRowContentType"/>
2258+
<argument name="targetIndex" value="1"/>
2259+
</actionGroup>
2260+
<!-- Add Full Width Row -->
2261+
<actionGroup ref="openPageBuilderEditPanelByIndex" stepKey="openEditMenuOnStage2">
2262+
<argument name="contentType" value="PageBuilderRowContentType"/>
2263+
<argument name="contentTypeIndex" value="2"/>
2264+
</actionGroup>
2265+
<actionGroup ref="chooseVisualSelectOption" stepKey="setAppearance2">
2266+
<argument name="property" value="PageBuilderRowAppearance_FullWidth"/>
2267+
</actionGroup>
2268+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings2"/>
2269+
<!-- Add Full Bleed Row -->
2270+
<actionGroup ref="openPageBuilderEditPanelByIndex" stepKey="openEditMenuOnStage3">
2271+
<argument name="contentType" value="PageBuilderRowContentType"/>
2272+
<argument name="contentTypeIndex" value="3"/>
2273+
</actionGroup>
2274+
<actionGroup ref="chooseVisualSelectOption" stepKey="setAppearance3">
2275+
<argument name="property" value="PageBuilderRowAppearance_FullBleed"/>
2276+
</actionGroup>
2277+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings3"/>
2278+
<!-- Validate Stage -->
2279+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Stage">
2280+
<argument name="section" value="RowOnStage"/>
2281+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2282+
<argument name="index" value="1"/>
2283+
</actionGroup>
2284+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Stage">
2285+
<argument name="section" value="RowOnStage"/>
2286+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2287+
<argument name="index" value="2"/>
2288+
</actionGroup>
2289+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Stage">
2290+
<argument name="section" value="RowOnStage"/>
2291+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2292+
<argument name="index" value="3"/>
2293+
</actionGroup>
2294+
<actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/>
2295+
<!-- Validate Storefront -->
2296+
<amOnUrl url="{{_ENV.MAGENTO_BASE_URL}}" stepKey="goBackToMagento"/>
2297+
<actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront">
2298+
<argument name="page" value="$$createCMSPage.identifier$$"/>
2299+
</actionGroup>
2300+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow1Storefront">
2301+
<argument name="section" value="RowOnStorefront"/>
2302+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2303+
<argument name="index" value="1"/>
2304+
</actionGroup>
2305+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow2Storefront">
2306+
<argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/>
2307+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2308+
<argument name="index" value="2"/>
2309+
</actionGroup>
2310+
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioRow3Storefront">
2311+
<argument name="section" value="RowOnStorefront_FullWidth_FullBleed"/>
2312+
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
2313+
<argument name="index" value="3"/>
2314+
</actionGroup>
2315+
</test>
22002316
</tests>

0 commit comments

Comments
 (0)