Skip to content

Commit 0e1544f

Browse files
committed
MC-405: [Banner] User couldn't insert a URL Link into Banner content
- Adding test for verifying user can add link to WYSIWYG in Banner - Adding supporting data, action groups, and elements - Renaming ContentTypeTextActionGroup.xml file
1 parent 009ba90 commit 0e1544f

File tree

5 files changed

+102
-1
lines changed

5 files changed

+102
-1
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeTextActionGroup.xml renamed to app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/WYSIWYGActionGroup.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,23 @@
131131
<waitForElementVisible selector="{{section.textInIFrame(property.value)}}" stepKey="waitForTextVisible"/>
132132
<switchToIFrame stepKey="exitIFrame"/>
133133
</actionGroup>
134+
<actionGroup name="insertLinkInWYSIWYG">
135+
<arguments>
136+
<argument name="section" defaultValue="EditPanelForm"/>
137+
<argument name="url" type="string"/>
138+
<argument name="textToDisplay" type="string"/>
139+
<argument name="title" type="string" defaultValue=""/>
140+
</arguments>
141+
<comment userInput="insertLinkInWYSIWYG" stepKey="comment"/>
142+
<waitForElementVisible selector="{{section.wysiwygInsertLinkButton}}" stepKey="waitForInsertLinKButton"/>
143+
<click selector="{{section.wysiwygInsertLinkButton}}" stepKey="clickInsertLinKButton"/>
144+
<waitForPageLoad stepKey="waitForPageLoad"/>
145+
<waitForElementVisible selector="{{WYSIWYGInsertLinkModal.modal}}" stepKey="waitForInsertLinkModal"/>
146+
<fillField selector="{{WYSIWYGInsertLinkModal.urlInput}}" userInput="{{url}}" stepKey="insertUrl"/>
147+
<fillField selector="{{WYSIWYGInsertLinkModal.textToDisplayInput}}" userInput="{{textToDisplay}}" stepKey="insertTextToDisplay"/>
148+
<fillField selector="{{WYSIWYGInsertLinkModal.titleInput}}" userInput="{{title}}" stepKey="insertTitle"/>
149+
<click selector="{{WYSIWYGInsertLinkModal.okButton}}" stepKey="clickOkButton"/>
150+
<waitForPageLoad stepKey="waitForPageLoad2"/>
151+
<waitForElementNotVisible selector="{{WYSIWYGInsertLinkModal.modal}}" stepKey="waitForInsertLinkModalGone"/>
152+
</actionGroup>
134153
</actionGroups>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
<data key="product">Product</data>
1414
<data key="category">Category</data>
1515
<data key="page">Page</data>
16+
<data key="googleUrl">https://google.com</data>
1617
</entity>
1718
</entities>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<element name="invalidUploadTitle" type="text" selector="//aside[contains(@class,'modal-popup')]//header/h1[contains(.,'Attention')]"/>
4646
<element name="invalidUploadMessage" type="text" selector="//aside[contains(@class,'modal-popup')]//div[@class='modal-content']//div[.=&quot;{{arg1}}&quot;]" parameterized="true"/>
4747
<element name="invalidUploadOkBtn" type="text" selector="//aside[contains(@class,'modal-popup')]//footer//button//span[.='OK']"/>
48+
<element name="wysiwygInsertLinkButton" type="button" selector="button i.mce-ico.mce-i-link"/>
4849
</section>
4950
<section name="AdvancedForm">
5051
<element name="sectionName" type="button" selector="//div[@data-index='advanced']"/>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
11+
<section name="WYSIWYGInsertLinkModal">
12+
<element name="modal" type="input" selector="[aria-label='Insert link']"/>
13+
<element name="title" type="input" selector="//div[@aria-label='Insert link']//div[contains(@id,'-title') and .='Insert link']"/>
14+
<element name="xButton" type="button" selector="[aria-label='Insert link'] button.mce-close"/>
15+
<element name="urlInput" type="input" selector="//div[@aria-label='Insert link']//input[ancestor::div[label[.='Url']]]"/>
16+
<element name="browseMediaGalleryButton" type="button" selector="//div[@aria-label='Insert link']//button[ancestor::div[label[.='Url']]]"/>
17+
<element name="textToDisplayInput" type="input" selector="//div[@aria-label='Insert link']//input[ancestor::div[label[.='Text to display']]]"/>
18+
<element name="titleInput" type="input" selector="//div[@aria-label='Insert link']//input[ancestor::div[label[.='Title']]]"/>
19+
<element name="targetInput" type="input" selector="//div[@aria-label='Insert link']//button[ancestor::div[label[.='Target']]]"/>
20+
<element name="okButton" type="button" selector="//div[@aria-label='Insert link']//button//span[.='Ok']"/>
21+
<element name="cancelButton" type="button" selector="//div[@aria-label='Insert link']//button//span[.='Cancel']"/>
22+
</section>
23+
</sections>

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

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,64 @@
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="BannerPosterAddWYSIWYGLink">
12+
<annotations>
13+
<features value="PageBuilder"/>
14+
<stories value="Banner"/>
15+
<title value="Poster - Verify User Can Add Link To WYSIWYG"/>
16+
<description value="Verify that a user can add a link to the WYSIWYG for Banner"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value="MC-405"/>
19+
<testCaseId value="MC-3104"/>
20+
<group value="pagebuilder"/>
21+
<group value="pagebuilder-banner"/>
22+
<group value="pagebuilder-bannerPoster"/>
23+
</annotations>
24+
<before>
25+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
26+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
27+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
28+
</before>
29+
<after>
30+
<actionGroup ref="logout" stepKey="logout"/>
31+
</after>
32+
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
33+
<argument name="contentType" value="PageBuilderBannerContentType"/>
34+
</actionGroup>
35+
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
36+
<argument name="group" value="PageBuilderBannerContentType"/>
37+
</actionGroup>
38+
<actionGroup ref="dragContentTypeToStage" stepKey="dragBannerIntoStage">
39+
<argument name="contentType" value="PageBuilderBannerContentType"/>
40+
</actionGroup>
41+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
42+
<argument name="contentType" value="PageBuilderBannerContentType"/>
43+
</actionGroup>
44+
<!-- Add Link To WYSIWYG -->
45+
<comment userInput="Add Link To WYSIWYG" stepKey="commentAddLink"/>
46+
<actionGroup ref="insertLinkInWYSIWYG" stepKey="insertLinkInWYSIWYG">
47+
<argument name="url" value="https://google.com"/>
48+
<argument name="textToDisplay" value="https://google.com"/>
49+
</actionGroup>
50+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
51+
<!-- Validate Stage -->
52+
<comment userInput="Validate Stage" stepKey="commentValidateStage"/>
53+
<waitForElementVisible selector="{{BannerOnBackend.linkUrl(ExternalLink.googleUrl)}}" stepKey="waitForBannerStage"/>
54+
<!-- Save Page -->
55+
<comment userInput="Save Page" stepKey="commentSavePage"/>
56+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
57+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
58+
<!-- Validate Stage After Page Save -->
59+
<comment userInput="Validate Stage After Page Save" stepKey="commentValidateStage2"/>
60+
<waitForElementVisible selector="{{BannerOnBackend.linkUrl(ExternalLink.googleUrl)}}" stepKey="waitForBannerStage2"/>
61+
<!-- Validate Storefront -->
62+
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/>
63+
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
64+
<argument name="contentType" value="PageBuilderBannerContentType"/>
65+
</actionGroup>
66+
<waitForElementVisible selector="{{BannerOnFrontend.linkUrl(ExternalLink.googleUrl)}}" stepKey="waitForBannerStorefront"/>
67+
68+
</test>
1169
<test name="BannerPosterButtonNeverShow">
1270
<annotations>
1371
<features value="PageBuilder"/>
@@ -134,7 +192,6 @@
134192
<seeElement selector="{{BannerOnFrontend.poster}}" stepKey="verifyPosterInFrontend2"/>
135193
<dontSeeElement selector="{{BannerOnFrontend.posterMobileWithMobileImage}}" stepKey="dontSeePosterInFrontendMobileWithMobileImage2"/>
136194
</test>
137-
138195
<test name="BannerPosterButtonOnHover">
139196
<annotations>
140197
<features value="PageBuilder"/>

0 commit comments

Comments
 (0)