Skip to content

Commit 536ee58

Browse files
committed
MC-17823: Access Images/Widgets/Variable from HTML content type
- add test coverage for block - update html code to use createData
1 parent 1109fbd commit 536ee58

File tree

3 files changed

+121
-12
lines changed

3 files changed

+121
-12
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<element name="hidden" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}][contains(@style, 'display: none')]" parameterized="true"/>
3434
<element name="notHidden" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}][not(contains(@style, 'display: none'))]" parameterized="true"/>
3535
<element name="html" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]{{arg2}}" parameterized="true"/>
36-
<element name="widgetLink" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]//a[contains(@href,'{{arg2}}html-code{{arg3}}')]" parameterized="true"/>
36+
<element name="widgetLink" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
3737
<element name="text" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]//*[contains(text(),'{{arg2}}')]" parameterized="true"/>
3838
<!-- Advanced Configuration -->
3939
<element name="alignment" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>

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

Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,13 @@
953953
</actionGroup>
954954
</before>
955955
<after>
956+
<actionGroup ref="navigateToMediaGallery" stepKey="navigateToMediaGallery"/>
957+
<actionGroup ref="NavigateToMediaFolderActionGroup" stepKey="NavigateToFolder2">
958+
<argument name="FolderName" value="{{ImageFolder.name}}"/>
959+
</actionGroup>
960+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage2">
961+
<argument name="Image" value="ImageUpload3"/>
962+
</actionGroup>
956963
<deleteData createDataKey="createCMSBlock" stepKey="deleteCMSBlock"/>
957964
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
958965
<actionGroup ref="logout" stepKey="logout"/>
@@ -973,12 +980,85 @@
973980
<actionGroup ref="fillSlideOutPanelTextArea" stepKey="enterHtmlContent">
974981
<argument name="property" value="PageBuilderHtmlPropertyButton"/>
975982
</actionGroup>
983+
<!-- Add media directives -->
984+
<comment userInput="Add media directives" stepKey="commentAddMediaDirectives"/>
985+
<actionGroup ref="addPageLinkWidgetToHtmlCodeWYSIWYGDisabled" stepKey="addPageLinkWidgetToHtmlCodeWYSIWYGDisabled">
986+
<argument name="widget" value="PageBuilderTextArea_WidgetCMSPageLink"/>
987+
<argument name="page" value="$$createCMSPage.identifier$$"/>
988+
</actionGroup>
989+
<actionGroup ref="clickHtmlInsertImageButton" stepKey="clickInsertImageInHtmlCode"/>
990+
<actionGroup ref="clickMediaGalleryStorageRootArrow" stepKey="clickMediaGalleryStorageRootArrow"/>
991+
<actionGroup ref="CreateImageFolder" stepKey="CreateImageFolder">
992+
<argument name="ImageFolder" value="ImageFolder"/>
993+
</actionGroup>
994+
<actionGroup ref="attachImage" stepKey="attachImage1">
995+
<argument name="Image" value="ImageUpload3"/>
996+
</actionGroup>
997+
<actionGroup ref="saveImage" stepKey="insertImage"/>
998+
<actionGroup ref="assertTextareaContainsValue" stepKey="assertImageInTextareaValueBeforeSave">
999+
<argument name="value" value="{{ImageUpload3.value}}"/>
1000+
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
1001+
</actionGroup>
1002+
<actionGroup ref="addVariableToHtmlCodeWYSIWYGDisabled" stepKey="addVariableToHtmlCodeWYSIWYGDisabled">
1003+
<argument name="variable" value="PageBuilderTextArea_VariableBaseURL"/>
1004+
</actionGroup>
9761005
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsHtml"/>
977-
<actionGroup ref="saveCMSBlock" stepKey="saveCMSBlock"/>
9781006
<!-- Validate CMS Block Stage -->
9791007
<comment userInput="Validate CMS Block Stage" stepKey="commentValidateCMSBlockStage"/>
9801008
<seeElement selector="{{HtmlOnStage.base('1')}}" stepKey="seeHtmlBaseCMSBlockStage"/>
9811009
<seeElement selector="{{HtmlOnStage.html('1', PageBuilderHtmlPropertyButton.selector)}}" stepKey="seeHtmlCMSBlockStage"/>
1010+
<executeJS function="return document.querySelectorAll('{{HtmlOnStage.baseCSS}}')[0].innerText;" stepKey="actualTextFromHtmlCode"/>
1011+
<assertContains stepKey="assertWidgetOnStage">
1012+
<expectedResult type="string">{{TinyMCEWidgetCMSPageLink.stageValue}}</expectedResult>
1013+
<actualResult type="variable">actualTextFromHtmlCode</actualResult>
1014+
</assertContains>
1015+
<assertContains stepKey="assertImageOnStage">
1016+
<expectedResult type="string">{{ImageUpload3.value}}</expectedResult>
1017+
<actualResult type="variable">actualTextFromHtmlCode</actualResult>
1018+
</assertContains>
1019+
<assertContains stepKey="assertVariableOnStage">
1020+
<expectedResult type="string">{{TinyMCEVariableBaseURL.stageValue}}</expectedResult>
1021+
<actualResult type="variable">actualTextFromHtmlCode</actualResult>
1022+
</assertContains>
1023+
<actionGroup ref="saveCMSBlock" stepKey="saveCMSBlock"/>
1024+
<!-- Validate CMS Block Stage After Save -->
1025+
<comment userInput="Validate CMS Block Stage After Save" stepKey="commentValidateCMSBlockStageAfterSave"/>
1026+
<seeElement selector="{{HtmlOnStage.base('1')}}" stepKey="seeHtmlBaseCMSBlockStageAfterSave"/>
1027+
<seeElement selector="{{HtmlOnStage.html('1', PageBuilderHtmlPropertyButton.selector)}}" stepKey="seeHtmlCMSBlockStageAfterSave"/>
1028+
<executeJS function="return document.querySelectorAll('{{HtmlOnStage.baseCSS}}')[0].innerText;" stepKey="actualTextFromHtmlCodeAfterSave"/>
1029+
<assertContains stepKey="assertWidgetOnStageAfterSave">
1030+
<expectedResult type="string">{{TinyMCEWidgetCMSPageLink.stageValue}}</expectedResult>
1031+
<actualResult type="variable">actualTextFromHtmlCodeAfterSave</actualResult>
1032+
</assertContains>
1033+
<assertContains stepKey="assertImageOnStageAfterSave">
1034+
<expectedResult type="string">{{ImageUpload3.value}}</expectedResult>
1035+
<actualResult type="variable">actualTextFromHtmlCodeAfterSave</actualResult>
1036+
</assertContains>
1037+
<assertContains stepKey="assertVariableOnStageAfterSave">
1038+
<expectedResult type="string">{{TinyMCEVariableBaseURL.stageValue}}</expectedResult>
1039+
<actualResult type="variable">actualTextFromHtmlCodeAfterSave</actualResult>
1040+
</assertContains>
1041+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageAfterSave">
1042+
<argument name="contentType" value="PageBuilderHtmlContentType"/>
1043+
</actionGroup>
1044+
<!-- Validate Edit Panel After Save -->
1045+
<comment userInput="Validate Edit Panel After Save" stepKey="commentValidateEditPanelAfterSave"/>
1046+
<actionGroup ref="assertTextareaContainsValue" stepKey="assertButtonInTextareaValueAfterSave">
1047+
<argument name="value" value="{{PageBuilderHtmlPropertyButton.value}}"/>
1048+
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
1049+
</actionGroup>
1050+
<actionGroup ref="assertTextareaContainsValue" stepKey="assertWidgetInTextareaValueAfterSave">
1051+
<argument name="value" value="{{PageBuilderTextArea_WidgetCMSPageLink.editPanelValue}}"/>
1052+
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
1053+
</actionGroup>
1054+
<actionGroup ref="assertTextareaContainsValue" stepKey="assertImageInTextareaValueAfterSave">
1055+
<argument name="value" value="{{ImageUpload3.value}}"/>
1056+
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
1057+
</actionGroup>
1058+
<actionGroup ref="assertTextareaContainsValue" stepKey="assertVariableInTextareaValueAfterSave">
1059+
<argument name="value" value="{{PageBuilderTextArea_VariableBaseURL.editPanelValue}}"/>
1060+
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
1061+
</actionGroup>
9821062
<!-- Add Block to CMS Page -->
9831063
<comment userInput="Add Block to CMS Page" stepKey="commentAddBlockToCMSPage"/>
9841064
<actionGroup ref="navigateToCreatedCMSPage" stepKey="navigateToCreatedCMSPage">
@@ -1001,6 +1081,19 @@
10011081
<comment userInput="Validate CMS Page Stage" stepKey="commentValidateCMSPageStage"/>
10021082
<seeElement selector="{{HtmlOnStorefront.base('1')}}" stepKey="seeHtmlBaseCMSPageStage"/>
10031083
<seeElement selector="{{HtmlOnStorefront.html('1', PageBuilderHtmlPropertyButton.selector)}}" stepKey="seeHtmlCMSPageStage"/>
1084+
<executeJS function="return document.querySelectorAll('{{HtmlOnStage.baseCSS}}')[0].innerText;" stepKey="actualTextFromHtmlCodeCMSPageStage"/>
1085+
<assertContains stepKey="assertWidgetOnStageCMSPageStage">
1086+
<expectedResult type="string">{{_ENV.MAGENTO_BASE_URL}}$$createCMSPage.identifier$$</expectedResult>
1087+
<actualResult type="variable">actualTextFromHtmlCodeCMSPageStage</actualResult>
1088+
</assertContains>
1089+
<assertContains stepKey="assertImageOnStageCMSPageStage">
1090+
<expectedResult type="string">{{ImageUpload3.value}}</expectedResult>
1091+
<actualResult type="variable">actualTextFromHtmlCodeCMSPageStage</actualResult>
1092+
</assertContains>
1093+
<assertContains stepKey="assertVariableOnStageCMSPageStage">
1094+
<expectedResult type="string">{{_ENV.MAGENTO_BASE_URL}}</expectedResult>
1095+
<actualResult type="variable">actualTextFromHtmlCodeCMSPageStage</actualResult>
1096+
</assertContains>
10041097
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
10051098
<!-- Validate CMS Page Storefront -->
10061099
<comment userInput="Validate CMS Page Storefront" stepKey="commentValidateCMSPageStorefront"/>
@@ -1012,5 +1105,21 @@
10121105
<click selector="{{HtmlOnStorefront.html('1', PageBuilderHtmlPropertyButton.selectorOnFrontend)}}" stepKey="clickRenderedHtmlButtonCMSPageStorefront"/>
10131106
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurCMSPageStorefront"/>
10141107
<seeCurrentUrlEquals url="{{PageBuilderHtmlPropertyButton.url}}" stepKey="seeThatUrlIsChangedToHtmlLinkUrl"/>
1108+
<openNewTab stepKey="openNewTab"/>
1109+
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront2">
1110+
<argument name="page" value="$$createCMSPage.identifier$$"/>
1111+
</actionGroup>
1112+
<seeElement selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, $$createCMSPage.identifier$$)}}" stepKey="seeWidgetStorefront"/>
1113+
<seeElement selector="{{StorefrontCMSPageSection.imageSource(ImageUpload3.fileName)}}" stepKey="seeMediaSourceStorefront"/>
1114+
<executeJS function="return document.querySelectorAll('{{HtmlOnStorefront.baseCSS}}')[0].innerText;" stepKey="actualTextStorefront"/>
1115+
<assertContains stepKey="assertVariableStorefront">
1116+
<expectedResult type="string">{{_ENV.MAGENTO_BASE_URL}}</expectedResult>
1117+
<actualResult type="variable">actualTextStorefront</actualResult>
1118+
</assertContains>
1119+
<!-- Click Page Link Widget Storefront -->
1120+
<comment userInput="Click Page Link Widget Storefront" stepKey="clickClickPageLinkWidgetStorefront"/>
1121+
<click selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, $$createCMSPage.identifier$$)}}" stepKey="clickWidgetStorefront"/>
1122+
<waitForPageLoad stepKey="waitForPageLoad"/>
1123+
<seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/>
10151124
</test>
10161125
</tests>

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@
2121
<group value="pagebuilder-html"/>
2222
</annotations>
2323
<before>
24+
<createData entity="_emptyCmsPage" stepKey="createCMSPage"/>
2425
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
25-
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
26-
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
27-
<argument name="contentType" value="PageBuilderHtmlContentType"/>
26+
<actionGroup ref="navigateToCreatedCMSPage" stepKey="navigateToCreatedCMSPage">
27+
<argument name="CMSPage" value="$$createCMSPage$$"/>
2828
</actionGroup>
29-
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage"/>
3029
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
3130
</before>
3231
<after>
@@ -37,6 +36,7 @@
3736
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage2">
3837
<argument name="Image" value="ImageUpload3"/>
3938
</actionGroup>
39+
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
4040
<actionGroup ref="logout" stepKey="logout"/>
4141
</after>
4242
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection">
@@ -55,7 +55,7 @@
5555
<comment userInput="Add media directives" stepKey="commentAddMediaDirectives"/>
5656
<actionGroup ref="addPageLinkWidgetToHtmlCodeWYSIWYGDisabled" stepKey="addPageLinkWidgetToHtmlCodeWYSIWYGDisabled">
5757
<argument name="widget" value="PageBuilderTextArea_WidgetCMSPageLink"/>
58-
<argument name="page" value="html-code{{PageBuilderPageTitle.pageName}}"/>
58+
<argument name="page" value="$$createCMSPage.identifier$$"/>
5959
</actionGroup>
6060
<actionGroup ref="clickHtmlInsertImageButton" stepKey="clickInsertImageInHtmlCode"/>
6161
<actionGroup ref="clickMediaGalleryStorageRootArrow" stepKey="clickMediaGalleryStorageRootArrow"/>
@@ -131,14 +131,14 @@
131131
<argument name="value" value="{{PageBuilderTextArea_VariableBaseURL.editPanelValue}}"/>
132132
<argument name="selector" value="{{HtmlOnConfiguration.textarea}}"/>
133133
</actionGroup>
134-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront">
135-
<argument name="contentType" value="PageBuilderHtmlContentType"/>
134+
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront">
135+
<argument name="page" value="$$createCMSPage.identifier$$"/>
136136
</actionGroup>
137137
<!-- Validate Storefront -->
138138
<comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/>
139139
<waitForElementVisible selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForHtmlBaseStorefront"/>
140140
<waitForElementVisible selector="{{HtmlOnStorefront.html('1', PageBuilderHtmlPropertyButton.selectorOnFrontend)}}" stepKey="waitForHtmlStorefront"/>
141-
<seeElement selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, PageBuilderPageTitle.pageName)}}" stepKey="seeWidgetStorefront"/>
141+
<seeElement selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, $$createCMSPage.identifier$$)}}" stepKey="seeWidgetStorefront"/>
142142
<seeElement selector="{{StorefrontCMSPageSection.imageSource(ImageUpload3.fileName)}}" stepKey="seeMediaSourceStorefront"/>
143143
<executeJS function="return document.querySelectorAll('{{HtmlOnStorefront.baseCSS}}')[0].innerText;" stepKey="actualTextStorefront"/>
144144
<assertContains stepKey="assertVariableStorefront">
@@ -147,9 +147,9 @@
147147
</assertContains>
148148
<!-- Click Page Link Widget Storefront -->
149149
<comment userInput="Click Page Link Widget Storefront" stepKey="clickClickPageLinkWidgetStorefront"/>
150-
<click selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, PageBuilderPageTitle.pageName)}}" stepKey="clickWidgetStorefront"/>
150+
<click selector="{{HtmlOnStorefront.widgetLink('1', _ENV.MAGENTO_BASE_URL, $$createCMSPage.identifier$$)}}" stepKey="clickWidgetStorefront"/>
151151
<waitForPageLoad stepKey="waitForPageLoad"/>
152-
<seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}html-code{{PageBuilderPageTitle.pageName}}" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/>
152+
<seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}$$createCMSPage.identifier$$" stepKey="seeThatUrlIsChangedToPageLinkWidgetUrlStorefront"/>
153153
</test>
154154
<test name="HtmlDelete">
155155
<annotations>

0 commit comments

Comments
 (0)