Skip to content

Commit 4410ddd

Browse files
committed
PB-95: Video background for Row
- Adding remaining video background tests
1 parent b9d2980 commit 4410ddd

File tree

7 files changed

+587
-46
lines changed

7 files changed

+587
-46
lines changed

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,8 @@
217217
<expectedResult type="string">{{backgroundColor}}</expectedResult>
218218
<actualResult type="variable">$backgroundColor</actualResult>
219219
</assertEquals>
220-
<waitForElementVisible selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
220+
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
221+
<waitForElement selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
221222
<grabAttributeFrom selector="{{section.videoBackgroundJarallaxContainer(index)}}" userInput="style" stepKey="jarallaxStyle"/>
222223
<assertContains stepKey="assertHeight">
223224
<expectedResult type="string">height: 100%;</expectedResult>
@@ -231,7 +232,7 @@
231232
<expectedResult type="string">overflow: hidden;</expectedResult>
232233
<actualResult type="variable">$jarallaxStyle</actualResult>
233234
</assertContains>
234-
<grabAttributeFrom selector="{{section.videoBackgroundVideoIframe(index)}}" userInput="style" stepKey="videoStyle"/>
235+
<grabAttributeFrom selector="{{section.videoBackgroundVideoElement(index)}}" userInput="style" stepKey="videoStyle"/>
235236
<assertContains stepKey="assertVideoPosition">
236237
<expectedResult type="string">position: absolute;</expectedResult>
237238
<actualResult type="variable">$videoStyle</actualResult>
@@ -289,7 +290,7 @@
289290
</arguments>
290291
<waitForPageLoad stepKey="waitForPageLoad"/>
291292
<waitForElementVisible selector="{{section.backgroundType(index, 'video')}}" stepKey="waitForVideoBackground"/>
292-
<dontSeeElementInDOM selector="{{section.videoBackgroundVideoIframe(index)}}" stepKey="dontSeeVideoInDOM"/>
293+
<dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="dontSeeVideoInDOM"/>
293294
<waitForElementVisible selector="{{section.videoBackgroundFallbackImage(index)}}" stepKey="waitForFallbackImageVisible"/>
294295
<grabAttributeFrom selector="{{section.videoBackgroundFallbackImageSource(index, fallbackImage.fileName)}}" userInput="src" stepKey="fallbackImageSource"/>
295296
<assertRegExp stepKey="assertFallbackImageValueContainsFileInformation">
@@ -313,7 +314,7 @@
313314
<waitForPageLoad stepKey="waitForPageLoad"/>
314315
<waitForElementVisible selector="{{section.backgroundType(index, 'video')}}" stepKey="waitForVideoBackground"/>
315316
<waitForElementVisible selector="{{section.videoBackgroundNoFallbackImage(index)}}" stepKey="waitForNoFallbackImage"/>
316-
<dontSeeElementInDOM selector="{{section.videoBackgroundVideoIframe(index)}}" stepKey="dontSeeVideoInDOM"/>
317+
<dontSeeElementInDOM selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="dontSeeVideoInDOM"/>
317318
<dontSeeElementInDOM selector="{{section.videoBackgroundFallbackImage(index)}}" stepKey="dontSeeFallbackImageInDOM"/>
318319
</actionGroup>
319320
<actionGroup name="validateVideoBackgroundWithOnlyVideoUrl">
@@ -331,7 +332,8 @@
331332
<waitForPageLoad stepKey="waitForPageLoad"/>
332333
<waitForElementVisible selector="{{section.backgroundType(index, 'video')}}" stepKey="waitForVideoBackground"/>
333334
<dontSeeElementInDOM selector="{{section.backgroundColorElement(index)}}" stepKey="dontSeeBackgroundColorInDOM"/>
334-
<waitForElementVisible selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
335+
<waitForElementVisible selector="{{section.videoBackgroundVideoElement(index)}}" stepKey="waitForVideoVisible"/>
336+
<waitForElement selector="{{section.videoBackgroundVideoUrl(index, videoUrl.renderedValue)}}" stepKey="waitForVideoUrl"/>
335337
<grabAttributeFrom selector="{{section.videoBackgroundJarallaxContainer(index)}}" userInput="style" stepKey="jarallaxStyle"/>
336338
<assertContains stepKey="assertHeight">
337339
<expectedResult type="string">height: 100%;</expectedResult>
@@ -345,7 +347,7 @@
345347
<expectedResult type="string">overflow: hidden;</expectedResult>
346348
<actualResult type="variable">$jarallaxStyle</actualResult>
347349
</assertContains>
348-
<grabAttributeFrom selector="{{section.videoBackgroundVideoIframe(index)}}" userInput="style" stepKey="videoStyle"/>
350+
<grabAttributeFrom selector="{{section.videoBackgroundVideoElement(index)}}" userInput="style" stepKey="videoStyle"/>
349351
<assertContains stepKey="assertVideoPosition">
350352
<expectedResult type="string">position: absolute;</expectedResult>
351353
<actualResult type="variable">$videoStyle</actualResult>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</arguments>
1919
<attachFile userInput="{{property.value}}" selector='{{EditPanelForm.panelFieldControl(property.section, property.fieldName)}}' stepKey="attachBackgroundImageFile"/>
2020
<waitForLoadingMaskToDisappear stepKey="waitForLoading"/>
21-
<waitForElementVisible selector="{{EditPanelForm.backgroundImagePreview}}" stepKey="waitForImageUpload"/>
21+
<waitForElementVisible selector="{{EditPanelForm.editFormUploadedImage(property.section, property.fieldName)}}" stepKey="waitForImageUpload"/>
2222
</actionGroup>
2323
<actionGroup name="attachFileSlideOutPropertyGeneral">
2424
<annotations>
@@ -44,7 +44,7 @@
4444
<waitForElementVisible selector="{{EditPanelForm.invalidUploadOkBtn}}" stepKey="waitForInvalidUploadBtn"/>
4545
<click selector="{{EditPanelForm.invalidUploadOkBtn}}" stepKey="clickInvalidUploadBtn"/>
4646
<waitForElementNotVisible selector="{{EditPanelForm.invalidUploadTitle}}" stepKey="waitForModalGone"/>
47-
<dontSeeElementInDOM selector="{{EditPanelForm.backgroundImagePreview}}" stepKey="dontSeeImage"/>
47+
<dontSeeElementInDOM selector="{{EditPanelForm.editFormUploadedImage(property.section, property.fieldName)}}" stepKey="dontSeeImage"/>
4848
</actionGroup>
4949
<actionGroup name="clickSelectFromGallerySlideOut">
5050
<arguments>

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

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@
441441
<data key="section">background</data>
442442
<data key="fieldName">video_source</data>
443443
<data key="value"/>
444-
<data key="tooltipText">Supported video sources are: URL to YouTube or Vimeo video URL to .mp4, .ogv or .webm video file</data>
444+
<data key="tooltipText">Video URLs can be links to videos on YouTube or Vimeo, or HTTP(S) links to files with valid video extensions (we recommend .mp4)</data>
445445
<data key="errorMessage">This is a required field.</data>
446446
</entity>
447447
<entity name="PageBuilderVideoBackgroundUrl_YouTube_Embedded" type="pagebuilder_video_background_url">
@@ -450,7 +450,6 @@
450450
<data key="fieldName">video_source</data>
451451
<data key="value">https://www.youtube.com/embed/slOtnjsbff0</data>
452452
<data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data>
453-
<data key="editPanelValue">https://www.youtube.com/watch?v=slOtnjsbff0</data>
454453
</entity>
455454
<entity name="PageBuilderVideoBackgroundUrl_YouTube_NonEmbedded" type="pagebuilder_video_background_url">
456455
<data key="name">Video URL</data>
@@ -459,12 +458,33 @@
459458
<data key="value">https://www.youtube.com/watch?v=slOtnjsbff0</data>
460459
<data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data>
461460
</entity>
461+
<entity name="PageBuilderVideoBackgroundUrl_Vimeo_Embedded" type="pagebuilder_video_background_url">
462+
<data key="name">Video URL</data>
463+
<data key="section">background</data>
464+
<data key="fieldName">video_source</data>
465+
<data key="value">https://player.vimeo.com/video/2393127</data>
466+
<data key="renderedValue">https://player.vimeo.com/video/2393127</data>
467+
</entity>
468+
<entity name="PageBuilderVideoBackgroundUrl_Vimeo_NonEmbedded" type="pagebuilder_video_background_url">
469+
<data key="name">Video URL</data>
470+
<data key="section">background</data>
471+
<data key="fieldName">video_source</data>
472+
<data key="value">https://vimeo.com/2393127</data>
473+
<data key="renderedValue">https://player.vimeo.com/video/2393127</data>
474+
</entity>
475+
<entity name="PageBuilderVideoBackgroundUrl_Mp4_URL" type="pagebuilder_video_background_url">
476+
<data key="name">Video URL</data>
477+
<data key="section">background</data>
478+
<data key="fieldName">video_source</data>
479+
<data key="value">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data>
480+
<data key="renderedValue">https://obsessive-owls.s3.us-east-2.amazonaws.com/MFTF/avocado.mp4</data>
481+
</entity>
462482
<entity name="PageBuilderVideoBackgroundUrl_Invalid_Text" type="pagebuilder_video_background_url">
463483
<data key="name">Video URL</data>
464484
<data key="section">background</data>
465485
<data key="fieldName">video_source</data>
466486
<data key="value">Test</data>
467-
<data key="errorMessage">Please enter a valid video URL.</data>
487+
<data key="errorMessage">Please enter a valid video URL. Valid URLs have a video file extension (.mp4, .webm, .ogv) or links to videos on YouTube or Vimeo.</data>
468488
</entity>
469489
<entity name="PageBuilderVideoBackgroundUrl_Invalid_VideoDoesNotExit" type="pagebuilder_video_background_url">
470490
<data key="name">Video URL</data>
@@ -537,7 +557,8 @@
537557
<data key="section">background</data>
538558
<data key="fieldName">video_fallback_image</data>
539559
<data key="value"/>
540-
<!-- <data key="helperText">Maximum file size: 4 MB. Allowed file types: JPG, GIF, PNG.</data>-->
560+
<data key="helperText">Maximum file size: 4 MB. Allowed file types: JPG, GIF, PNG.</data>
561+
<data key="tooltipText">Fallback images appear on the screen before a video loads. When the video loads, it replaces the fallback image. If the video does not load for some reason, the fallback image remains on the screen in place of the video.</data>
541562
</entity>
542563
<entity name="PageBuilderVideoBackgroundFallbackImage_JPG" type="pagebuilder_video_background_fallback_image">
543564
<data key="name">Background Image</data>
@@ -548,4 +569,13 @@
548569
<data key="extension">jpg</data>
549570
<data key="path">wysiwyg</data>
550571
</entity>
572+
<entity name="PageBuilderVideoBackgroundFallbackImage_GIF" type="pagebuilder_video_background_fallback_image">
573+
<data key="name">Background Image</data>
574+
<data key="section">background</data>
575+
<data key="fieldName">video_fallback_image</data>
576+
<data key="value">m-logo.gif</data>
577+
<data key="fileName">m-logo</data>
578+
<data key="extension">gif</data>
579+
<data key="path">wysiwyg</data>
580+
</entity>
551581
</entities>

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@
3131
<element name="panelFieldNoPlaceholderText" type="input" selector='//div[@data-index="{{arg1}}"]/descendant::*[@name="{{arg2}}" and not(@placeholder)]' parameterized="true"/>
3232
<element name="panelFieldAfterLabelText" type="text" selector="//div[@data-index='{{arg1}}']//span[@data-bind='text: addafter' and .='{{arg2}}']" parameterized="true"/>
3333
<element name="panelFieldNoAfterLabelText" type="text" selector="//div[@data-index='{{arg1}}']//span[@data-bind='text: addafter']" parameterized="true"/>
34-
<element name="panelFieldHelperText" type="text" parameterized="true" selector="//aside//div[@data-index='{{section}}']/descendant::div[@data-index='{{field}}']/descendant::span[contains(@data-bind,'i18n: notice')]"/>
35-
<element name="panelFieldTooltip" type="button" parameterized="true" selector="//aside//div[@data-index='{{section}}']/descendant::div[@data-index='{{field}}']/descendant::a[contains(@class,'admin__field-tooltip-action')]"/>
36-
<element name="panelFieldTooltipContent" type="button" parameterized="true" selector="//aside//div[@data-index='{{section}}']/descendant::div[@data-index='{{field}}']/descendant::div[contains(@class,'admin__field-tooltip-content')]"/>
34+
<element name="panelFieldHelperText" type="text" parameterized="true" selector="//aside//*[@data-index='{{section}}']/descendant::*[@name='{{field}}']/ancestor::*[contains(@class,'admin__field-control')]/descendant::*[contains(@class,'admin__field-note') or contains(@class,'image-upload-requirements')]"/>
35+
<element name="panelFieldTooltip" type="button" parameterized="true" selector="//aside//*[@data-index='{{section}}']/descendant::*[@name='{{field}}']/ancestor::*[contains(@class,'admin__field-control')]/descendant::a[contains(@class,'admin__field-tooltip-action')]"/>
36+
<element name="panelFieldTooltipContent" type="text" parameterized="true" selector="//aside//*[@data-index='{{section}}']/descendant::*[@name='{{field}}']/ancestor::*[contains(@class,'admin__field-control')]/descendant::*[contains(@class,'admin__field-tooltip-content')]"/>
3737
<element name="panelFieldValidationError" type="input" selector="//div[contains(@class,'_insert_form')]//div[@data-index='{{arg1}}']//div[@data-index='{{arg2}}' and contains(@class,'_error')]//div[contains(@class,'')]//*[@name='{{arg2}}' or contains(@class,'mce-tinymce')]" parameterized="true"/>
3838
<element name="panelFieldValidationErrorMessage" type="button" selector="//div[contains(@class,'_insert_form')]//div[@data-index='{{arg1}}']//div[contains(@class,'admin__field-control')]//*[@name='{{arg2}}' or contains(@class,'mce-tinymce')]//..//..//..//label[.='{{arg3}}']" parameterized="true"/>
3939
<element name="panelMultiSelectFieldControl" type="input" selector="aside [data-index='{{arg1}}'] [data-index='{{arg2}}'] [data-role='advanced-select']" parameterized="true"/>
4040
<element name="panelMultiSelectFieldControlInput" type="input" selector="aside [data-index='{{arg1}}'] [data-index='{{arg2}}'] .admin__action-multiselect-search" parameterized="true"/>
4141
<element name="panelMultiSelectFieldControlResult" type="input" selector="//aside//div[@data-index='{{arg1}}']//div[@data-index='{{arg2}}']//div[contains(@class,'action-menu-item')]//span[.='{{arg3}}']" parameterized="true"/>
4242
<element name="editFormAllRequiredFields" type="text" selector="aside.pagebuilder_modal_form_pagebuilder_modal_form_modal ._required:not([style*='display: none;'])"/>
43-
<element name="editFormUploadedImage" type="button" selector="//div[@data-index='{{arg1}}']/descendant::*[@name='{{arg2}}']//..//..//img" parameterized="true"/>
43+
<element name="editFormUploadedImage" type="button" selector="//div[@data-index='{{arg1}}']/descendant::*[@name='{{arg2}}']/ancestor::*[contains(@class,'admin__field-control')]//img[@class='preview-image']" parameterized="true"/>
4444
<element name="editFormNoUploadedImage" type="button" selector="//span[text()='{{arg1}}']//parent::label//following-sibling::div//p[text()='Browse to find or drag image here']" parameterized="true"/>
45-
<element name="editFormUploadedImageSource" type="button" selector="//div[@data-index='{{arg1}}']/descendant::*[@name='{{arg2}}']//..//..//img[contains(@src,'{{arg3}}') and contains(@src,'{{arg4}}')]" parameterized="true"/>
45+
<element name="editFormUploadedImageSource" type="button" selector="//div[@data-index='{{arg1}}']/descendant::*[@name='{{arg2}}']/ancestor::*[contains(@class,'admin__field-control')]//img[contains(@src,'{{arg3}}') and contains(@src,'{{arg4}}')]" parameterized="true"/>
4646
<element name="backgroundImagePreview" type="button" selector='//div[@data-index="background"]/descendant::img[@class="preview-image"]'/>
4747
<element name="selectFromGalleryBtn" type="button" selector="//aside//div[@data-index='{{arg1}}']/descendant::*[@name='{{arg2}}']//..//label[text()='Select from Gallery']" parameterized="true"/>
4848
<element name="invalidUploadTitle" type="text" selector="//aside[contains(@class,'modal-popup')]//header/h1[contains(.,'Attention')]"/>

0 commit comments

Comments
 (0)