Skip to content

Commit 3fe3801

Browse files
committed
MC-13769: Add Missing P0-P1 MFTF Tests For PageBuilder On CMS Block - Render Content Through Block
- Adding test for Image in Block - Adding/editing supporting actiongroups, elements, data - Updating affected image tests
1 parent 176dbc4 commit 3fe3801

File tree

6 files changed

+186
-18
lines changed

6 files changed

+186
-18
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
<actionGroup name="validateImage">
2929
<arguments>
3030
<argument name="section"/>
31-
<argument name="pageNamePrefix" defaultValue="admin" type="string"/>
3231
<argument name="image"/>
3332
<argument name="index" defaultValue="1" type="string"/>
3433
</arguments>
@@ -38,8 +37,7 @@
3837
<grabAttributeFrom selector="{{section.imageSourceByIndex(index, image.fileName)}}" userInput="src" stepKey="contentTypeSrc"/>
3938
<!-- Grab base URL -->
4039
<comment userInput="Grab base URL" stepKey="commentGrabBaseUrl"/>
41-
<executeJS function="return '{{pageNamePrefix}}'" stepKey="pageNamePrefix"/>
42-
<grabFromCurrentUrl regex="/(^.+(?=\/$pageNamePrefix))/" stepKey="baseURL"/>
40+
<executeJS function="return window.location.origin" stepKey="baseURL"/>
4341
<!-- Convert all characters in string variables to regex friendly strings -->
4442
<comment userInput="Convert all characters in string variables to regex friendly strings" stepKey="commentConvert"/>
4543
<executeJS function="return '{$baseURL}'.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\\\^\\$\|]/g, '\\\\$&amp;')" stepKey="regexBaseURL"/>

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<data key="fieldName">appearance</data>
1515
<data key="defaultValue">full-width</data>
1616
</entity>
17+
<!-- Image -->
1718
<entity name="PageBuilderImageProperty_JPG2" type="pagebuilder_image_property">
1819
<data key="name">Image</data>
1920
<data key="section">general</data>
@@ -73,6 +74,7 @@
7374
<data key="extension">jpg</data>
7475
<data key="path">wysiwyg</data>
7576
</entity>
77+
<!-- Image Mobile Image -->
7678
<entity name="PageBuilderMobileImagePropertyGif" type="pagebuilder_mobile_image_property">
7779
<data key="name">Mobile Image</data>
7880
<data key="section">general</data>
@@ -83,11 +85,12 @@
8385
<data key="fileName">m-logo</data>
8486
<data key="path">wysiwyg</data>
8587
</entity>
88+
<!-- Image Link -->
8689
<entity name="PageBuilderImageLinkProperty" type="pagebuilder_image_link_property">
8790
<data key="name">Link</data>
8891
<data key="section">general</data>
8992
<data key="fieldName">link_url</data>
90-
<data key="value">https://url.magento</data>
93+
<data key="value">https://url.magento/</data>
9194
</entity>
9295
<entity name="PageBuilderImageNewTab_True" type="pagebuilder_image_link_property">
9396
<data key="name">Open in new tab</data>
@@ -96,18 +99,28 @@
9699
<data key="value">true</data>
97100
<data key="stageValue">_blank</data>
98101
</entity>
102+
<entity name="PageBuilderImageNewTab_False" type="pagebuilder_image_link_property">
103+
<data key="name">Open in new tab</data>
104+
<data key="section">general</data>
105+
<data key="fieldName">link_url</data>
106+
<data key="value">false</data>
107+
<data key="stageValue"/>
108+
</entity>
109+
<!-- Image Caption -->
99110
<entity name="PageBuilderImageCaptionProperty" type="pagebuilder_image_caption_property">
100111
<data key="name">Image Caption</data>
101112
<data key="section">general</data>
102113
<data key="fieldName">image_caption</data>
103114
<data key="value">This is my image caption</data>
104115
</entity>
116+
<!-- Image Alt Text -->
105117
<entity name="PageBuilderImageAltTextProperty" type="pagebuilder_alt_text_property">
106118
<data key="name">Alternative Text</data>
107119
<data key="section">seo</data>
108120
<data key="fieldName">alt</data>
109121
<data key="value">This is alternative text.</data>
110122
</entity>
123+
<!-- Image Title Attribute -->
111124
<entity name="PageBuilderImageTitleAttributeProperty" type="pagebuilder_title_attribute_property">
112125
<data key="name">Title Attribute</data>
113126
<data key="section">seo</data>

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

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@
3737
</section>
3838
<section name="ImageOnStage">
3939
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-image')])[{{arg1}}]" parameterized="true"/>
40+
<element name="imageSourceByIndex" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//img[contains(@src,'{{arg2}}')]" parameterized="true"/>
41+
<element name="imageCaption" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//figcaption[@data-element='caption']" parameterized="true"/>
42+
<element name="imageAltText" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@alt='{{arg2}}']" parameterized="true"/>
43+
<element name="imageTitleAttribute" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@title='{{arg2}}']" parameterized="true"/>
4044
<!-- Advanced Configuration -->
4145
<element name="noAlignment" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-image')])[{{arg1}}]//figure[not(contains(@style,'text-align:'))]" parameterized="true"/>
4246
<element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-image')])[{{arg1}}]//figure[contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
@@ -58,11 +62,13 @@
5862
<element name="imageDisplay" type="button" selector="figure[data-role='image']"/>
5963
<element name="imageElement" type="button" selector="figure[data-role='image'] img:nth-child({{arg1}})" parameterized="true"/>
6064
<element name="imageElementCSS" type="text" selector="figure[data-role=image] img"/>
61-
<element name="imageHasAltText" type="button" selector="img.pagebuilder-mobile-hidden[alt='{{arg1}}']" parameterized="true"/>
62-
<element name="imageHasCaption" type="button" selector="figcaption"/>
63-
<element name="imageHasTitleTag" type="button" selector="img.pagebuilder-mobile-hidden[title='{{arg1}}']" parameterized="true"/>
64-
<element name="imageLink" type="button" selector="figure[data-role='image'] a[href='{{arg1}}']" parameterized="true"/>
65-
<element name="imageLinkTarget" type="button" selector="figure[data-role='image'] a[target='{{arg1}}']" parameterized="true"/>
65+
<element name="imageDesktop" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@data-element='desktop_image']" parameterized="true"/>
66+
<element name="imageMobile" type="text" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@data-element='mobile_image']" parameterized="true"/>
67+
<element name="imageAltText" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@alt='{{arg2}}']" parameterized="true"/>
68+
<element name="imageCaption" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//figcaption[@data-element='caption']" parameterized="true"/>
69+
<element name="imageTitleAttribute" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//img[@title='{{arg2}}']" parameterized="true"/>
70+
<element name="imageLink" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//a[@href='{{arg2}}']" parameterized="true"/>
71+
<element name="imageLinkTarget" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//a[@target='{{arg2}}']" parameterized="true"/>
6672
<element name="imageSource" type="button" selector="//img[contains(@src,'{{var1}}')]" parameterized="true"/>
6773
<element name="imageSourceByIndex" type="button" selector="(//figure[@data-role='image'])[{{arg1}}]//img[contains(@src,'{{arg2}}')]" parameterized="true"/>
6874
<element name="mobileImageSource" type="button" selector="img.pagebuilder-mobile-only[src*='{{arg1}}'][src$='.{{arg2}}']" parameterized="true"/>

0 commit comments

Comments
 (0)