Skip to content

Commit d4da457

Browse files
authored
Merge pull request #108 from magento-trigger/MC-1364
[Trigger] Always Render Magento directives on Magento Storefront
2 parents f25f5de + 31cbef9 commit d4da457

19 files changed

+323
-58
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,11 @@
9494
<actualResult type="variable">rowWidth</actualResult>
9595
</assertGreaterThan>
9696
</actionGroup>
97+
<actionGroup name="openPageBuilderOnCatalog">
98+
<click selector="{{PageBuilderCatalog.openPageBuilder}}" stepKey="clickOnPageBuilderBtn" />
99+
<!--See PageBuilder fullsize-->
100+
<comment userInput="See PageBuilder fullsize" stepKey="commentSeePageBuilderFullsize"/>
101+
<waitForElementVisible selector="{{PageBuilderPanel.generalGroup}}" stepKey="waiForPageBuilderVisible" />
102+
<seeElement selector="{{PageBuilderStage.stageWrapperFullScreen}}" stepKey="seePageBuilderFullSizeScreen" />
103+
</actionGroup>
97104
</actionGroups>

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<arguments>
1313
<argument name="block" defaultValue=""/>
1414
</arguments>
15-
<click selector="{{BlockOnStage.selectBlockBtn}}" stepKey="clickSelectBlockBtn"/>
15+
<click selector="{{BlockOnForm.selectBlockBtn}}" stepKey="clickSelectBlockBtn"/>
1616
<waitForElementVisible selector="{{BlockOnGrid.searchBox}}" stepKey="waitForBlockGrid" />
1717
<fillField selector="{{BlockOnGrid.searchBox}}" userInput="{{block.identifier}}" stepKey="enterBlockTitle"/>
1818
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear"/>
@@ -26,12 +26,13 @@
2626
</actionGroup>
2727
<actionGroup name="verifyBlockOnStage">
2828
<arguments>
29-
<argument name="contentType"/>
3029
<argument name="block"/>
30+
<argument name="index" defaultValue="1" type="string"/>
3131
</arguments>
32-
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStage(contentType.role)}}" x="10" y="0" stepKey="onMouseOverContentTypeStage"/>
33-
<waitForElementVisible selector="{{BlockOnStage.title(block.title)}}" stepKey="wait"/>
34-
<seeElement selector="{{BlockOnStage.title(block.title)}}" stepKey="seeOptionMenuTitle"/>
35-
<see userInput="{{block.content}}" stepKey="seeBlockContentOnStage"/>
32+
<moveMouseOver selector="{{PageBuilderStage.contentTypeInStageByIndex(PageBuilderBlockContentType.role, index)}}" stepKey="onMouseOverContentTypeStage"/>
33+
<waitForPageLoad stepKey="waitForPageLoad"/>
34+
<waitForElementVisible selector="{{BlockOnStage.title(index, block.title)}}" stepKey="wait"/>
35+
<seeElement selector="{{BlockOnStage.title(index,block.title)}}" stepKey="seeOptionMenuTitle"/>
36+
<see selector="{{BlockOnStage.content(index)}}" userInput="{{block.content}}" stepKey="seeBlockContentOnStage"/>
3637
</actionGroup>
3738
</actionGroups>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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"/>
14+
<argument name="linkName"/>
15+
<argument name="searchString"/>
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+
<!--Type 2 first letters into Search box-->
26+
<click selector="{{PageBuilderSection.LinkSearch}}" stepKey="focusOnField"/>
27+
<fillField selector="{{PageBuilderSection.LinkSearch}}" userInput="{{searchString}}" stepKey="fill2FirstLetters"/>
28+
<waitForElementVisible selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="waitForSearchResult" />
29+
<seeElement selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="seeCMSPageAOnSearchResult"/>
30+
<click selector="{{PageBuilderSection.SearchResult(searchResult)}}" stepKey="selectResult"/>
31+
<dontSee selector="{{PageBuilderSection.SearchResultBox}}" stepKey="dropdownCollapses" />
32+
<grabTextFrom selector="{{PageBuilderSection.DropdownInput}}" stepKey="textFromDropDown1"/>
33+
<assertEquals stepKey="assertEquals1" message="pass">
34+
<expectedResult type="string">{{searchResult}}</expectedResult>
35+
<actualResult type="variable">textFromDropDown1</actualResult>
36+
</assertEquals>
37+
</actionGroup>
38+
<actionGroup name="verifyCmsPageLinkOnFrontend">
39+
<arguments>
40+
<argument name="CMSPage"/>
41+
<argument name="index"/>
42+
<argument name="section"/>
43+
</arguments>
44+
<scrollTo selector="{{section.base('index')}}" stepKey="waitForButtonElementStorefront"/>
45+
<seeElement selector="{{PageBuilderPageOnStoreFrontSection.CMSPageLink(CMSPage.identifier)}}" stepKey="seePageLinkOnStoreFront" />
46+
<click selector="{{PageBuilderPageOnStoreFrontSection.CMSPageLink(CMSPage.identifier)}}" stepKey="clickButton"/>
47+
<waitForPageLoad stepKey="waitForPageLoad"/>
48+
<see userInput="{{CMSPage.title}}" stepKey="seePageName" />
49+
</actionGroup>
50+
</actionGroups>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<click selector="{{moveToCE.SelectPageButton}}" stepKey="clickSelectPage"/>
7373
<waitForLoadingMaskToDisappear stepKey="waitForSelectPageModal"/>
7474
<waitForElementVisible selector="{{moveToCE.generalFilter('chooser_title')}}" stepKey="waitForGrid"/>
75-
<fillField selector="{{moveToCE.generalFilter('chooser_title')}}" userInput="{{page}}" stepKey="enterPageName"/>
75+
<fillField selector="{{moveToCE.generalFilter('chooser_identifier')}}" userInput="{{page}}" stepKey="enterPageName"/>
7676
<click selector="{{AdminProductGridFilterSection.applyFilters}}" stepKey="clickSearch"/>
7777
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear3"/>
7878
<waitForElementVisible selector="//td[contains(@class,'col-url')][contains(text(),'{{page}}')]" stepKey="waitForSearchResult"/>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,7 @@
1515
<data key="page">Page</data>
1616
<data key="googleUrl">https://www.google.com</data>
1717
</entity>
18+
<entity name="ExternalLinkSearch" type="pagebuilder_external_link">
19+
<data key="page">cm</data>
20+
</entity>
1821
</entities>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@
3636
<data key="editPanelValue">Base URL</data>
3737
<data key="stageValue">{{config path=&quot;web/unsecure/base_url&quot;}}</data>
3838
</entity>
39+
<entity name="TinyMCEVariableCountry" type="pagebuilder_text_variable_property">
40+
<data key="variableName">default:general/store_information/country_id</data>
41+
<data key="editPanelValue">Country</data>
42+
<data key="stageValue">{{config path=&quot;general/store_information/country_id&quot;}}</data>
43+
</entity>
3944
<entity name="PageBuilderTextArea_VariableBaseURL" type="pagebuilder_text_variable_property">
4045
<data key="variableName">default:web/unsecure/base_url</data>
4146
<data key="editPanelValue">{{config path="web/unsecure/base_url"}}</data>

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
1111
<section name="BlockOnStage">
12-
<element name="html" type="text" selector="(//div[contains(@class,'pagebuilder-block')]//div[contains(@data-bind,'html: data.main.html')])[{{arg1}}]//a[contains(@class,'pagebuilder-button-primary')]" parameterized="true"/>
13-
<element name="status" type="text" selector="(//div[contains(@class,'pagebuilder-block')]//span[contains(@class,'placeholder') and text()='{{arg}}'])" parameterized="true"/>
14-
<element name="deleted" type="text" selector="(//div[contains(@class,'pagebuilder-block')]//span[contains(@class,'placeholder') and contains(text(),'Block with ID: {{arg}} doesn')])" parameterized="true"/>
15-
<element name="title" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[1]//div[contains(@class,'pagebuilder-options-wrapper')]//div[contains(@class,'option-title') and text()='{{arg}}']" parameterized="true"/>
16-
<element name="selectBlockBtn" type="button" selector="(//div[contains(@class,'pagebuilder-block')]//button/span[text()='Select Block'])"/>
12+
<element name="html" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@data-bind,'html: data.main.html')])[{{arg2}}]//a[contains(@class,'pagebuilder-button-primary')]" parameterized="true"/>
13+
<element name="status" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//span[contains(@class,'placeholder') and text()='{{arg}}'])" parameterized="true"/>
14+
<element name="deleted" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//span[contains(@class,'placeholder') and contains(text(),'Block with ID: {{arg}} doesn')])" parameterized="true"/>
15+
<element name="title" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@class,'pagebuilder-options-wrapper')]//div[contains(@class,'option-title') and text()='{{arg}}']" parameterized="true"/>
1716
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]" parameterized="true"/>
18-
<element name="hr" type="button" selector="(//div[contains(@class,'pagebuilder-block')]//div[@data-identifier])[{{arg1}}]//hr" parameterized="true"/>
17+
<element name="hr" type="button" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[@data-identifier])[{{arg2}}]//hr" parameterized="true"/>
18+
<element name="content" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@class,'block-static-block')]" parameterized="true"/>
1919
<!-- Advanced Configuration -->
2020
<element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
2121
<element name="noAlignment" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -28,7 +28,6 @@
2828
<element name="noCssClasses" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[not(@class)]" parameterized="true"/>
2929
<element name="margins" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@style,'margin: {{arg2}}px;')]" parameterized="true"/>
3030
<element name="padding" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/>
31-
<element name="selectBlockBtn" type="button" selector="(//div[contains(@class,'pagebuilder-block')]//button/span[text()='Select Block'])"/>
3231
</section>
3332
<section name="BlockOnGrid">
3433
<element name="searchBox" type="text" selector="//input[contains(@class,'data-grid-search-control')]"/>
@@ -38,11 +37,13 @@
3837
</section>
3938
<section name="BlockOnForm">
4039
<element name="title" type="text" selector="(//div[contains(@class,'pagebuilder-block')]//div[contains(@class,'block-title') and text()='{{arg1}}'])" parameterized="true"/>
40+
<element name="selectBlockBtn" type="button" selector="(//div[contains(@class,'pagebuilder-block')]//button/span[text()='Select Block'])"/>
4141
</section>
4242
<section name="BlockOnStorefront">
4343
<element name="html" type="text" selector="(//div[@data-role='html'])[{{arg1}}]//a[contains(@class,'pagebuilder-button-primary')]" parameterized="true"/>
4444
<element name="base" type="text" selector="(//div[@data-role='row']/div)[{{arg1}}]" parameterized="true"/>
4545
<element name="hr" type="button" selector="(//div[@data-role='row']/div)[{{arg1}}]/hr" parameterized="true"/>
46+
<element name="empty" type="text" selector="//div[@data-role='block'][{{arg1}}][not(*)]" parameterized="true"/>
4647
<!-- Advanced Configuration -->
4748
<element name="alignment" type="text" selector="(//div[@data-role='row']/div)[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
4849
<element name="noAlignment" type="text" selector="(//div[@data-role='row']/div)[{{arg1}}][not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -55,6 +56,5 @@
5556
<element name="noCssClasses" type="text" selector="(//div[@data-role='row'])[{{arg1}}]/div[not(@class)]" parameterized="true"/>
5657
<element name="margins" type="text" selector="(//div[@data-role='row']/div)[{{arg1}}][contains(@style,'margin: {{arg2}}px;')]" parameterized="true"/>
5758
<element name="padding" type="text" selector="(//div[@data-role='row']/div)[{{arg1}}][contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/>
58-
<element name="blockContent" type="text" selector="//div[@data-role='block']//div[contains(@class,'block-static-block')]"/>
5959
</section>
6060
</sections>

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[contains(@class,'url-input-element-linked-element')]/div"/>
15+
<element name="LinkSearch" type="input" selector="//div[contains(@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">

0 commit comments

Comments
 (0)