Skip to content

Commit b1db099

Browse files
committed
PB-266: Video background for Slide
- Adding tests
1 parent 5af0fd7 commit b1db099

File tree

3 files changed

+147
-15
lines changed

3 files changed

+147
-15
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@
399399
<argument name="index" defaultValue="1" type="string"/>
400400
</arguments>
401401
<waitForPageLoad stepKey="waitForPageLoad"/>
402-
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
402+
<waitForElement selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
403403
<waitForElement selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
404404
<grabAttributeFrom selector="{{section.videoBackgroundVideoElement(index)}}" userInput="style" stepKey="videoStyle"/>
405405
<assertContains stepKey="assertVideoPlaying">

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,16 @@
9999
<element name="backgroundRepeat" type="button" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'background-repeat: {{arg2}};')]" parameterized="true"/>
100100
<element name="backgroundAttachment" type="button" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper'][contains(@style,'background-attachment: {{arg2}};')]" parameterized="true"/>
101101
<!-- Video Background -->
102-
<element name="videoBackgroundJarallaxContainer" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]"/>
103-
<element name="videoBackgroundVideoElement" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//iframe|(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//video"/>
104-
<element name="videoBackgroundVideoUrl" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//*[contains(@src,'{{videoURL}}')]"/>
105-
<element name="videoBackgroundOverlayElement" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[@data-element='video_overlay']"/>
106-
<element name="videoBackgroundInfiniteLoop" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-loop='{{infiniteLoopValue}}']"/>
107-
<element name="videoBackgroundLazyLoad" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-lazy-load='{{lazyLoadValue}}']"/>
108-
<element name="videoBackgroundPlayOnlyWhenVisible" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-play-only-visible='{{playOnlyWhenVisibleValue}}']"/>
109-
<element name="videoBackgroundFallbackImage" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//img"/>
110-
<element name="videoBackgroundFallbackImageSource" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//img[contains(@src,'{{fileName}}')]"/>
111-
<element name="videoBackgroundNoFallbackImage" type="text" parameterized="true" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//div"/>
102+
<element name="videoBackgroundJarallaxContainer" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]"/>
103+
<element name="videoBackgroundVideoElement" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//iframe|(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//video"/>
104+
<element name="videoBackgroundVideoUrl" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//*[contains(@src,'{{videoURL}}')]"/>
105+
<element name="videoBackgroundOverlayElement" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[@data-element='video_overlay']"/>
106+
<element name="videoBackgroundInfiniteLoop" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-loop='{{infiniteLoopValue}}']"/>
107+
<element name="videoBackgroundLazyLoad" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-lazy-load='{{lazyLoadValue}}']"/>
108+
<element name="videoBackgroundPlayOnlyWhenVisible" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper' and @data-video-play-only-visible='{{playOnlyWhenVisibleValue}}']"/>
109+
<element name="videoBackgroundFallbackImage" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//img"/>
110+
<element name="videoBackgroundFallbackImageSource" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//img[contains(@src,'{{fileName}}')]"/>
111+
<element name="videoBackgroundNoFallbackImage" type="text" parameterized="true" selector="(//div[@data-slick-index and not(contains(@class, 'slick-cloned'))]//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='wrapper']//div[contains(@id,'jarallax-container')]//div"/>
112112
<!-- Content Configuration -->
113113
<element name="contentJS" type="text" selector="document.querySelectorAll('[data-content-type=slide] [data-element=content]')[{{arg1}} - 1]" parameterized="true"/>
114114
<element name="messageContent" type="text" selector="(//div[@data-content-type='slide'])[{{arg1}}]//div[@data-element='content']//*[contains(text(),'{{arg2}}')]" parameterized="true"/>

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

Lines changed: 136 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3268,7 +3268,7 @@
32683268
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide1Storefront">
32693269
<argument name="section" value="SlideOnFrontend"/>
32703270
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
3271-
<argument name="index" value="2"/>
3271+
<argument name="index" value="1"/>
32723272
</actionGroup>
32733273
<actionGroup ref="switchSlide" stepKey="showSlideOnStorefront2">
32743274
<argument name="sliderSection" value="SliderOnFrontend"/>
@@ -3278,7 +3278,7 @@
32783278
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide2Storefront">
32793279
<argument name="section" value="SlideOnFrontend"/>
32803280
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
3281-
<argument name="index" value="3"/>
3281+
<argument name="index" value="2"/>
32823282
</actionGroup>
32833283
<actionGroup ref="switchSlide" stepKey="showSlideOnStorefront3">
32843284
<argument name="sliderSection" value="SliderOnFrontend"/>
@@ -3288,7 +3288,7 @@
32883288
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide3Storefront">
32893289
<argument name="section" value="SlideOnFrontend"/>
32903290
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
3291-
<argument name="index" value="4"/>
3291+
<argument name="index" value="3"/>
32923292
</actionGroup>
32933293
<actionGroup ref="switchSlide" stepKey="showSlideOnStorefront4">
32943294
<argument name="sliderSection" value="SliderOnFrontend"/>
@@ -3298,7 +3298,139 @@
32983298
<actionGroup ref="validateVideoAspectRatio" stepKey="validateVideoAspectRatioSlide4Storefront">
32993299
<argument name="section" value="SlideOnFrontend"/>
33003300
<argument name="expectedRatio" value="{$expectedVideoAspectRatio}"/>
3301-
<argument name="index" value="5"/>
3301+
<argument name="index" value="4"/>
3302+
</actionGroup>
3303+
</test>
3304+
<test name="SlideItemNotActiveValidateVideoBackgroundPlayOnlyWhenVisibleEnabled">
3305+
<annotations>
3306+
<features value="PageBuilder"/>
3307+
<stories value="Slider"/>
3308+
<title value="Slide Item: Validate Video Background Play Only When Visible Enabled"/>
3309+
<description value="Verify that the video background play only when visible attribute works as intended when enabled."/>
3310+
<severity value="MAJOR"/>
3311+
<useCaseId value="PB-266"/>
3312+
<testCaseId value="MC-31938"/>
3313+
<group value="pagebuilder"/>
3314+
<group value="pagebuilder-slide"/>
3315+
<group value="pagebuilder-slideItemCommon"/>
3316+
<group value="pagebuilder-video-background"/>
3317+
</annotations>
3318+
<before>
3319+
<createData entity="_emptyCmsPage" stepKey="createCMSPage"/>
3320+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
3321+
<actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage">
3322+
<argument name="CMSPage" value="$$createCMSPage$$"/>
3323+
</actionGroup>
3324+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
3325+
</before>
3326+
<after>
3327+
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
3328+
<actionGroup ref="logout" stepKey="logout"/>
3329+
</after>
3330+
<!-- Add Slider to Stage -->
3331+
<comment userInput="Add Slider to Stage" stepKey="addSliderToStage"/>
3332+
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection">
3333+
<argument name="contentType" value="PageBuilderSliderContentType"/>
3334+
</actionGroup>
3335+
<actionGroup ref="dragContentTypeToStage" stepKey="dragSliderIntoStage">
3336+
<argument name="contentType" value="PageBuilderSliderContentType"/>
3337+
<argument name="containerTargetIndex" value="1"/>
3338+
</actionGroup>
3339+
<!-- Set Slider Fade Setting -->
3340+
<comment userInput="Edit Slider" stepKey="commentEditSlider"/>
3341+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="unFocusSlide"/>
3342+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openSliderEditPanelAfterDrop">
3343+
<argument name="contentType" value="PageBuilderSliderContentType"/>
3344+
</actionGroup>
3345+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterFade">
3346+
<argument name="property" value="PageBuilderSliderFade_Disabled"/>
3347+
</actionGroup>
3348+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
3349+
<!-- Set Video Background on Slide -->
3350+
<actionGroup ref="openPageBuilderEditPanelSmallByIndex" stepKey="openSlideEditPanelAfterDrop">
3351+
<argument name="section" value="SlideOnBackend"/>
3352+
</actionGroup>
3353+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterMinHeightProperty">
3354+
<argument name="property" value="PageBuilderMinHeightProperty_200px"/>
3355+
</actionGroup>
3356+
<actionGroup ref="chooseVisualSelectOption" stepKey="setBackgroundType">
3357+
<argument name="property" value="PageBuilderSlideItemBackgroundType_Video"/>
3358+
</actionGroup>
3359+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrl">
3360+
<argument name="property" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3361+
</actionGroup>
3362+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setLazyLoadDisabled">
3363+
<argument name="property" value="PageBuilderVideoBackgroundLazyLoad_Disabled"/>
3364+
</actionGroup>
3365+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setPlayOnlyWhenVisibleEnabled">
3366+
<argument name="property" value="PageBuilderVideoBackgroundPlayOnlyWhenVisible_Enabled"/>
3367+
</actionGroup>
3368+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings1"/>
3369+
<!-- Add 1 more Slide -->
3370+
<actionGroup ref="duplicateSmallContentType" stepKey="duplicateSlide1">
3371+
<argument name="section" value="SlideOnBackend"/>
3372+
<argument name="targetIndex" value="1"/>
3373+
</actionGroup>
3374+
<!-- Stage: Validate Video is Playing -->
3375+
<actionGroup ref="validateVideoBackgroundPlaying" stepKey="validateVideoPlayingStage1">
3376+
<argument name="section" value="SlideOnBackend"/>
3377+
<argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3378+
<argument name="index" value="2"/>
3379+
</actionGroup>
3380+
<actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/>
3381+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage2"/>
3382+
<!-- Stage: Validate Video is not Playing -->
3383+
<actionGroup ref="validateVideoBackgroundLoadedButNotPlaying" stepKey="validateVideoNotPlayingStage1">
3384+
<argument name="section" value="SlideOnBackend"/>
3385+
<argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3386+
<argument name="index" value="2"/>
3387+
</actionGroup>
3388+
<!-- Stage: Validate Video is Playing after changing slide -->
3389+
<actionGroup ref="switchSlide" stepKey="showSlide2">
3390+
<argument name="slideIndex" value="2"/>
3391+
</actionGroup>
3392+
<actionGroup ref="validateVideoBackgroundPlaying" stepKey="validateVideoPlayingStage2">
3393+
<argument name="section" value="SlideOnBackend"/>
3394+
<argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3395+
<argument name="index" value="2"/>
3396+
</actionGroup>
3397+
<!-- Storefront: Validate Video is not Playing -->
3398+
<actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToStorefront">
3399+
<argument name="page" value="$$createCMSPage.identifier$$"/>
3400+
</actionGroup>
3401+
<actionGroup ref="validateVideoBackgroundLoadedButNotPlaying" stepKey="validateVideoNotPlayingStorefront">
3402+
<argument name="section" value="SlideOnFrontend"/>
3403+
<argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3404+
<argument name="index" value="2"/>
3405+
</actionGroup>
3406+
<!-- Stage: Validate Video is Playing after changing slide -->
3407+
<actionGroup ref="switchSlide" stepKey="showSlideOnStorefront">
3408+
<argument name="sliderSection" value="SliderOnFrontend"/>
3409+
<argument name="slideSection" value="SlideOnFrontend"/>
3410+
<argument name="slideIndex" value="2"/>
3411+
</actionGroup>
3412+
<actionGroup ref="validateVideoBackgroundPlaying" stepKey="validateVideoPlayingStorefront">
3413+
<argument name="section" value="SlideOnFrontend"/>
3414+
<argument name="videoUrl" value="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded"/>
3415+
<argument name="index" value="2"/>
3416+
</actionGroup>
3417+
</test>
3418+
<test name="SlideItemNotActiveFadeValidateVideoBackgroundPlayOnlyWhenVisibleEnabled" extends="SlideItemNotActiveValidateVideoBackgroundPlayOnlyWhenVisibleEnabled">
3419+
<annotations>
3420+
<features value="PageBuilder"/>
3421+
<stories value="Slider"/>
3422+
<title value="Validate Video Background Play Only When Visible Enabled for not active slide with Fade enabled"/>
3423+
<description value="Verify that the video background play only when visible attribute works as intended when enabled."/>
3424+
<severity value="MAJOR"/>
3425+
<useCaseId value="PB-266"/>
3426+
<testCaseId value="MC-31939"/>
3427+
<group value="pagebuilder"/>
3428+
<group value="pagebuilder-slide"/>
3429+
<group value="pagebuilder-slideItemCommon"/>
3430+
<group value="pagebuilder-video-background"/>
3431+
</annotations>
3432+
<actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="enterFade">
3433+
<argument name="property" value="PageBuilderSliderFade_Enabled"/>
33023434
</actionGroup>
33033435
</test>
33043436
</tests>

0 commit comments

Comments
 (0)