Skip to content

Commit dbbdefc

Browse files
committed
MC-3065: Automate MFTF for MC-1364
1 parent bf872ae commit dbbdefc

File tree

4 files changed

+123
-3
lines changed

4 files changed

+123
-3
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="fillOutUrlInput">
12+
<arguments>
13+
<argument name="fieldName" defaultValue="button_link"/>
14+
<argument name="linkName" defaultValue="ExternalLink.page"/>
15+
<argument name="searchString" defaultValue="ExternalLinkSearch.page"/>
16+
<argument name="searchResult"/>
17+
</arguments>
18+
<waitForElementVisible selector="{{PageBuilderSection.LinkSelect('fieldName')}}" stepKey="waitForButtonLinkSelect"/>
19+
<seeElement selector="{{PageBuilderSection.LinkSelect('fieldName')}}" stepKey="seeButtonLinkSelect"/>
20+
<selectOption selector="{{EditPanelForm.panelFieldControl(PageBuilderButtonItemLink_NotSecure.section, PageBuilderButtonItemLink_NotSecure.fieldName)}}" userInput="{{linkName}}" stepKey="selectOption" />
21+
<!--See dropdown beside Button Link Select-->
22+
<waitForElementVisible selector="{{PageBuilderSection.LinkDropdown}}" stepKey="waitButtonLinkDropdownInput" />
23+
<seeElement selector="{{PageBuilderSection.LinkDropdown}}" stepKey="seeButtonLinkDropdownInput" />
24+
<click selector="{{PageBuilderSection.LinkDropdown}}" stepKey="expandButtonLinkDropdownInput1" />
25+
<see userInput="$$createCMSPageA.title$$" stepKey="seeCMSPageA"/>
26+
<!--Type 2 first letters into Search box-->
27+
<click selector="{{PageBuilderSection.LinkSearch}}" stepKey="focusOnField"/>
28+
<fillField selector="{{PageBuilderSection.LinkSearch}}" userInput="{{searchString}}" stepKey="fill2FirstLetters"/>
29+
<waitForElementVisible selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="waitForSearchResult" />
30+
<seeElement selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="seeCMSPageAOnSearchResult"/>
31+
<click selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="clickCMSPageAXOnSearchResult"/>
32+
<dontSee selector="{{PageBuilderSection.SearchResultBox}}" stepKey="dropdownCollapses" />
33+
<grabTextFrom selector="{{PageBuilderSection.DropdownInput}}" stepKey="textFromDropDown1"/>
34+
<assertEquals stepKey="assertEquals1" message="pass">
35+
<expectedResult type="string">{{searchResult}}</expectedResult>
36+
<actualResult type="variable">textFromDropDown1</actualResult>
37+
</assertEquals>
38+
</actionGroup>
39+
<actionGroup name="verifyCmsPageLinkOnFrontend">
40+
<arguments>
41+
<argument name="identifier"/>
42+
</arguments>
43+
<scrollTo selector="{{ButtonItemOnStorefront.base('1')}}" stepKey="waitForButtonElementStorefront"/>
44+
<seeElement selector="{{PageBuilderPageOnStoreFrontSection.CMSPageLink(identifier)}}" stepKey="seePageLinkOnStoreFront" />
45+
<click selector="{{PageBuilderPageOnStoreFrontSection.CMSPageLink(identifier)}}" stepKey="clickButton"/>
46+
<waitForPageLoad stepKey="waitForPageLoad"/>
47+
</actionGroup>
48+
</actionGroups>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@
1414
<data key="category">Category</data>
1515
<data key="page">Page</data>
1616
</entity>
17+
<entity name="ExternalLinkSearch" type="pagebuilder_external_link">
18+
<data key="page">cm</data>
19+
</entity>
1720
</entities>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
<section name="PageBuilderSection">
1212
<element name="LinkSelect" type="select" selector="//select[@name='{{var1}}']" parameterized="true"/>
1313
<element name="LinkInput" type="input" selector="//select[@name='{{var1}}']/following-sibling::div/input" parameterized="true"/>
14-
<element name="LinkDropdown" type="select" selector=".action-select.admin__action-multiselect"/>
15-
<element name="LinkSearch" type="input" selector=".admin__action-multiselect-search"/>
14+
<element name="LinkDropdown" type="select" selector="//div[@class='url-input-element-linked-element']/div"/>
15+
<element name="LinkSearch" type="input" selector="//div[@class='url-input-element-linked-element']//input"/>
1616
<element name="SearchResultBox" type="select" selector=".action-menu._active"/>
1717
<element name="LinkItemSelected" type="text" selector="//span[text()='{{var1}}']/parent::label/parent::div[contains(@class,'_selected')]" parameterized="true"/>
1818
<element name="SearchResult" type="text" selector="//span[text()='{{var1}}']" parameterized="true"/>
19-
<element name="DropdownInput" type="input" selector=".admin__action-multiselect-text"/>
19+
<element name="DropdownInput" type="input" selector="//div[@class='url-input-element-linked-element']//div[@data-role='selected-option']"/>
2020
<element name="RemoveBtn" type="button" selector="button[data-action='remove-selected-item']"/>
2121
</section>
2222
<section name="PageBuilderURLOnStoreFrontSection">

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

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,4 +1275,73 @@
12751275
</assertRegExp>
12761276
<deleteData createDataKey="createCMSPageA" stepKey="deletePreReqCMSPageA" />
12771277
</test>
1278+
<test name="AdminPageBuilderProductDirectivesTest">
1279+
<annotations>
1280+
<features value="PageBuilder"/>
1281+
<stories value="Always Render Magento directives on Magento Storefront"/>
1282+
<title value="Always Render Magento directives on Magento Storefront for Product"/>
1283+
<description value="Admin are able to add CMS Page link and image into PageBuilder content and see it Product Page"/>
1284+
<severity value="CRITICAL"/>
1285+
<useCaseId value="MC-1364"/>
1286+
<group value="pagebuilder"/>
1287+
<group value="pagebuilder-common"/>
1288+
<group value="pagebuilder-urlInput"/>
1289+
</annotations>
1290+
<before>
1291+
<createData entity="_defaultCategory" stepKey="createPreReqCategory"/>
1292+
<createData entity="_newDefaultProduct" stepKey="createPreReqProduct">
1293+
<requiredEntity createDataKey="createPreReqCategory"/>
1294+
</createData>
1295+
<createData entity="_newDefaultCmsPage" stepKey="createCMSPageA" />
1296+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
1297+
</before>
1298+
<after>
1299+
<deleteData createDataKey="createPreReqCategory" stepKey="deletePreReqCategory" />
1300+
<deleteData createDataKey="createPreReqProduct" stepKey="deletePreReqProduct" />
1301+
<deleteData createDataKey="createCMSPageA" stepKey="deletePreReqCmsPage" />
1302+
<actionGroup ref="logout" stepKey="logout"/>
1303+
<waitForPageLoad stepKey="waitForAdminLoginPageLoad"/>
1304+
</after>
1305+
<!--Go to Product Page-->
1306+
<amOnPage url="{{AdminProductEditPage.url($$createPreReqProduct.id$$)}}" stepKey="goToEditPage"/>
1307+
<waitForPageLoad stepKey="waitForProductPageBeLoaded"/>
1308+
<click selector="{{AdminProductFormSection.contentTab}}" stepKey="clickContentTab"/>
1309+
<waitForElementVisible selector="{{PageBuilderCatalog.openPageBuilder}}" stepKey="waitForPageBuilderBtn" />
1310+
<see userInput="Edit with Page Builder" stepKey="seePageBuilderBtn"/>
1311+
<click selector="{{PageBuilderCatalog.openPageBuilder}}" stepKey="clickOnPageBuilderBtn" />
1312+
<!--See PageBuilder fullsize-->
1313+
<waitForElementVisible selector="{{PageBuilderPanel.generalGroup}}" stepKey="waiForPageBuilderVisible" />
1314+
<seeElement selector="{{PageBuilderStage.stageWrapperFullScreen}}" stepKey="seePageBuilderFullSizeScreen" />
1315+
<dragAndDrop selector1="{{PageBuilderPanel.draggableContentTypeInPanel(PageBuilderButtonsContentType.name)}}" selector2="{{PageBuilderStage.dropAreaInStage}}" stepKey="dropContentTypeIntoStage"/>
1316+
<actionGroup ref="openPageBuilderEditPanelSmallByIndex" stepKey="openEditMenuOnStage1">
1317+
<argument name="section" value="ButtonItemOnStage"/>
1318+
<argument name="targetIndex" value="1"/>
1319+
</actionGroup>
1320+
<!--Choose cms page link type-->
1321+
<actionGroup ref="fillOutUrlInput" stepKey="choosePageLink">
1322+
<argument name="searchResult" value="$$createCMSPageA.title$$"/>
1323+
</actionGroup>
1324+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings1"/>
1325+
<click selector="{{PageBuilderPanel.mediaGroup}}" stepKey="clickMediaGroup"/>
1326+
<actionGroup ref="dragContentTypeToStage" stepKey="dragImageIntoStage">
1327+
<argument name="contentType" value="PageBuilderImageContentType"/>
1328+
</actionGroup>
1329+
<actionGroup ref="addImageToStage" stepKey="addImageToStage">
1330+
<argument name="property" value="PageBuilderImageProperty_StageJPG"/>
1331+
</actionGroup>
1332+
<waitForElementVisible selector="{{ImageOnStage.imageSourceByIndex('1', PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="seeImage1SourceOnStage"/>
1333+
<waitForElementVisible time="5" selector="{{PageBuilderStage.exitFullScreen}}" stepKey="waitForExitFullScreen" />
1334+
<click selector="{{PageBuilderStage.exitFullScreen}}" stepKey="exitPageBuilderFullScreen" />
1335+
<actionGroup ref="saveProductForm" stepKey="saveProduct"/>
1336+
<comment userInput="Verify directives on store front" stepKey="commentVerifyDirectivesOnSlideout"/>
1337+
<amOnPage url="$$createPreReqProduct.name$$.html" stepKey="navigateToProductPage"/>
1338+
<!--Go to storefront to verify Product Link-->
1339+
<waitForPageLoad stepKey="waitForPageLoad5"/>
1340+
<scrollTo selector="{{StorefrontProductInfoDetailsSection.detailsTab}}" stepKey="scrollToDetailsTab"/>
1341+
<waitForElementVisible selector="{{ImageOnStorefront.imageSourceByIndex('1', PageBuilderImageProperty_StageJPG.fileName)}}" stepKey="seeImage2SourceOnStorefront"/>
1342+
<actionGroup ref="verifyCmsPageLinkOnFrontend" stepKey="checkButtonOnStoreFront">
1343+
<argument name="identifier" value="$$createCMSPageA.identifier$$"/>
1344+
</actionGroup>
1345+
<see userInput="$$createCMSPageA.title$$" stepKey="seePageName" />
1346+
</test>
12781347
</tests>

0 commit comments

Comments
 (0)