Skip to content

Commit 0c6525e

Browse files
committed
PB-365: Templates MFTF Test Coverage
- Adding template tests for each page builder area - Adding template test for disabling page builder
1 parent 7515d50 commit 0c6525e

9 files changed

+224
-78
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,12 @@
174174
<waitForPageLoad stepKey="waitForPageLoad"/>
175175
</actionGroup>
176176
<actionGroup name="verifyEmptyStage">
177+
<arguments>
178+
<argument name="rowIndex" defaultValue="1" type="string"/>
179+
<argument name="pageBuilderArea" defaultValue="" type="string"/>
180+
</arguments>
177181
<waitForPageLoad stepKey="waitForStageLoad"/>
178-
<seeElement selector="{{RowOnStage.empty('1')}}" stepKey="seeEmptyRow"/>
179-
<seeNumberOfElements userInput="1" selector="{{RowOnStage.allRows}}" stepKey="seeOnlyOneRow"/>
182+
<seeElement selector="{{RowOnStage.empty(rowIndex)}}" stepKey="seeEmptyRow"/>
183+
<seeNumberOfElements userInput="1" selector="{{pageBuilderArea}}{{RowOnStage.allRows}}" stepKey="seeOnlyOneRow"/>
180184
</actionGroup>
181185
</actionGroups>

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

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1111
<actionGroup name="openPageBuilderSaveTemplateModal">
12-
<waitForElementVisible selector="{{PageBuilderStage.saveAsTemplateButton}}" stepKey="waitForSaveAsTemplateButton"/>
13-
<click selector="{{PageBuilderStage.saveAsTemplateButton}}" stepKey="clickSaveAsTemplateButton"/>
12+
<arguments>
13+
<argument name="pageBuilderArea" defaultValue="" type="string"/>
14+
</arguments>
15+
<waitForElementVisible selector="{{pageBuilderArea}}{{PageBuilderStage.saveAsTemplateButton}}" stepKey="waitForSaveAsTemplateButton"/>
16+
<click selector="{{pageBuilderArea}}{{PageBuilderStage.saveAsTemplateButton}}" stepKey="clickSaveAsTemplateButton"/>
1417
<waitForPageLoad stepKey="waitForModalLoad"/>
1518
<waitForElementVisible selector="{{PageBuilderSaveTemplateModal.activeModal}}" stepKey="waitForModalVisible"/>
1619
<see userInput="Save Content as Template" selector="{{PageBuilderSaveTemplateModal.title}}" stepKey="seeTitle"/>
@@ -88,11 +91,15 @@
8891
<seeElement selector="{{PageBuilderSaveTemplateConfirmationModal.okButton}}" stepKey="seeOKButton"/>
8992
</actionGroup>
9093
<actionGroup name="openPageBuilderApplyTemplateSlideOut">
91-
<waitForElementVisible selector="{{PageBuilderStage.applyTemplateButton}}" stepKey="waitForApplyTemplateButton"/>
92-
<click selector="{{PageBuilderStage.applyTemplateButton}}" stepKey="clickApplyTemplateButton"/>
94+
<arguments>
95+
<argument name="title" defaultValue="Apply Template" type="string"/>
96+
<argument name="pageBuilderArea" defaultValue="" type="string"/>
97+
</arguments>
98+
<waitForElementVisible selector="{{pageBuilderArea}}{{PageBuilderStage.applyTemplateButton}}" stepKey="waitForApplyTemplateButton"/>
99+
<click selector="{{pageBuilderArea}}{{PageBuilderStage.applyTemplateButton}}" stepKey="clickApplyTemplateButton"/>
93100
<waitForPageLoad stepKey="waitForSlideOutLoad"/>
94101
<waitForElementVisible selector="{{PageBuilderApplyTemplateSlideOut.activeSlideOut}}" stepKey="waitForSlideOut"/>
95-
<see userInput="Apply Template" selector="{{PageBuilderApplyTemplateSlideOut.title}}" stepKey="seeTitle"/>
102+
<see userInput="{{title}}" selector="{{PageBuilderApplyTemplateSlideOut.title}}" stepKey="seeTitle"/>
96103
<waitForPageLoad stepKey="waitForSlideOutForm"/>
97104
</actionGroup>
98105
<actionGroup name="closePageBuilderApplyTemplateSlideOut">
@@ -123,9 +130,12 @@
123130
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForContentUnderSlideOutVisible" after="waitForSlideOutNotVisible"/>
124131
</actionGroup>
125132
<actionGroup name="verifyNoPageBuilderSaveOrApplyTemplateButtons">
133+
<arguments>
134+
<argument name="pageBuilderArea" defaultValue="" type="string"/>
135+
</arguments>
126136
<waitForPageLoad stepKey="waitForPageLoad"/>
127-
<dontSeeElementInDOM selector="{{PageBuilderStage.saveAsTemplateButton}}" stepKey="dontSeeSaveAsTemplateButton"/>
128-
<dontSeeElementInDOM selector="{{PageBuilderStage.applyTemplateButton}}" stepKey="dontSeeApplyTemplateButton"/>
137+
<dontSeeElementInDOM selector="{{pageBuilderArea}}{{PageBuilderStage.saveAsTemplateButton}}" stepKey="dontSeeSaveAsTemplateButton"/>
138+
<dontSeeElementInDOM selector="{{pageBuilderArea}}{{PageBuilderStage.applyTemplateButton}}" stepKey="dontSeeApplyTemplateButton"/>
129139
</actionGroup>
130140
<actionGroup name="navigateToPageBuilderTemplatesGridPage">
131141
<amOnPage url="{{PageBuilderTemplatesGridPage.url}}" stepKey="goToPageBuilderTemplatesGridPage"/>
@@ -192,8 +202,8 @@
192202
<actualResult type="variable">screenshotNaturalWidth</actualResult>
193203
</assertGreaterThan>
194204
<see userInput="{{templateName}}" selector="{{section.templateName(rowIndex)}}" stepKey="seeTemplateName"/>
195-
<!-- <see userInput="{{createdFor}}" selector="{{section.createdFor(rowIndex)}}" stepKey="seeCreatedFor"/>-->
196-
<!-- <see userInput="{{createdDate}}" selector="{{section.createdDate(rowIndex)}}" stepKey="seeCreatedDate"/>-->
205+
<see userInput="{{createdFor}}" selector="{{section.createdFor(rowIndex)}}" stepKey="seeCreatedFor"/>
206+
<see userInput="{{createdDate}}" selector="{{section.createdDate(rowIndex)}}" stepKey="seeCreatedDate"/>
197207
</actionGroup>
198208
<actionGroup name="validatePageBuilderTemplateEmptyGrid">
199209
<arguments>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="PageBuilderStage">
1212
<element name="imageSource" type="text" selector="//img[contains(@src,'{{var1}}')]" parameterized="true"/>
13-
<element name="applyTemplateButton" type="button" selector="//button[contains(@data-bind,'toggleTemplateManger') and .='Apply Template']"/>
14-
<element name="saveAsTemplateButton" type="button" selector="//button[contains(@data-bind,'saveAsTemplate') and .='Save as Template']"/>
13+
<element name="applyTemplateButton" type="button" selector="//button[contains(@data-bind,'toggleTemplateManger') and text()='Apply Template']"/>
14+
<element name="saveAsTemplateButton" type="button" selector="//button[contains(@data-bind,'saveAsTemplate') and text()='Save as Template']"/>
1515
<element name="openFullScreen" type="button" selector="//i[@class='icon-pagebuilder-fullscreen']"/>
1616
<element name="exitFullScreen" type="button" selector=".pagebuilder-header .icon-pagebuilder-fullscreen-exit"/>
1717
<element name="stageLoading" type="button" selector="div.pagebuilder-stage-loading"/>

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

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
<element name="cancelButton" type="button" selector="//aside[contains(@class,'template-manager-save') and contains(@class,'_show')]//footer//button[contains(@class,'action-dismiss')]//span[.='Cancel']"/>
2222
</section>
2323
<section name="PageBuilderSaveTemplateConfirmationModal">
24-
<element name="modal" type="text" selector="//aside[contains(@class,'confirm')]"/>
25-
<element name="title" type="text" selector="//aside[contains(@class,'confirm')]//header//h1"/>
26-
<element name="closeButton" type="button" selector="//aside[contains(@class,'confirm')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
27-
<element name="message" type="text" selector="//aside[contains(@class,'confirm')]//*[@data-role='content']//*"/>
28-
<element name="okButton" type="button" selector="//aside[contains(@class,'confirm')]//footer//button//span[.='OK']"/>
24+
<element name="modal" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]"/>
25+
<element name="title" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//header//h1"/>
26+
<element name="closeButton" type="button" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
27+
<element name="message" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//*[@data-role='content']//*"/>
28+
<element name="okButton" type="button" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//footer//button//span[.='OK']"/>
2929
</section>
3030
<section name="PageBuilderApplyTemplateSlideOut">
3131
<element name="slideOut" type="text" selector="//aside[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal')]"/>
@@ -69,12 +69,12 @@
6969
<element name="deleteButton" type="button" parameterized="true" selector="//tr//div[text()='{{textInRow}}']/parent::td/parent::tr//td[6]//a[text()='Delete']"/>
7070
</section>
7171
<section name="PageBuilderDeleteTemplateConfirmationModal">
72-
<element name="modal" type="text" selector="//aside[contains(@class,'confirm')]"/>
73-
<element name="title" type="text" selector="//aside[contains(@class,'confirm')]//header//h1"/>
74-
<element name="closeButton" type="button" selector="//aside[contains(@class,'confirm')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
75-
<element name="message" type="text" selector="//aside[contains(@class,'confirm')]//*[@data-role='content']//*"/>
76-
<element name="okButton" type="button" selector="//aside[contains(@class,'confirm')]//footer//button//span[.='OK']"/>
77-
<element name="cancelButton" type="button" selector="//aside[contains(@class,'confirm')]//footer//button//span[.='Cancel']"/>
72+
<element name="modal" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]"/>
73+
<element name="title" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//header//h1"/>
74+
<element name="closeButton" type="button" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
75+
<element name="message" type="text" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//*[@data-role='content']//*"/>
76+
<element name="okButton" type="button" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//footer//button//span[.='OK']"/>
77+
<element name="cancelButton" type="button" selector="//aside[contains(@class,'confirm') and contains(@class,'_show')]//footer//button//span[.='Cancel']"/>
7878
</section>
7979
<section name="PageBuilderTemplateGridFilter">
8080
<element name="clearFilters" type="button" selector="//*[contains(@class,'admin__data-grid-header')]//button[@data-action='grid-filter-reset' and text()='Clear all']"/>

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -834,4 +834,36 @@
834834
<deleteData createDataKey="createCMSPage" stepKey="deleteCreatedCategory" after="deleteCreatedProduct"/>
835835
</after>
836836
</test>
837+
<test name="PageBuilderCMSBlockCreateAndApplyTemplate" extends="PageBuilderCMSPageCreateAndApplyTemplate">
838+
<annotations>
839+
<features value="PageBuilder"/>
840+
<stories value="CMS Block"/>
841+
<title value="Create and Apply Page Builder Template to CMS Block"/>
842+
<description value="Verify that user can create and apply a Page Builder template to a CMS Block's content"/>
843+
<severity value="CRITICAL"/>
844+
<useCaseId value="PB-341"/>
845+
<testCaseId value="MC-30602"/>
846+
<group value="pagebuilder"/>
847+
<group value="pagebuilder-templates"/>
848+
<group value="pagebuilder-cms-block"/>
849+
</annotations>
850+
<before>
851+
<createData entity="_emptyCmsBlock" stepKey="createCMSPage"/>
852+
<actionGroup ref="NavigateToCreatedCMSBlockPageActionGroup" stepKey="navigateToCreatedCMSPage">
853+
<argument name="CMSBlockPage" value="$$createCMSPage$$"/>
854+
</actionGroup>
855+
<remove keyForRemoval="switchToPageBuilderStage"/>
856+
</before>
857+
<actionGroup ref="savePageBuilderTemplate" stepKey="savePageBuilderTemplate">
858+
<argument name="baseContent" value="{{BlockNewPagePageActionsSection.saveBlock}}"/>
859+
</actionGroup>
860+
<!-- Go to CMS Block -->
861+
<actionGroup ref="NavigateToCreatedCMSBlockPageActionGroup" stepKey="navigateToCreatedCMSPage">
862+
<argument name="CMSBlockPage" value="$$createCMSPage$$"/>
863+
</actionGroup>
864+
<remove keyForRemoval="switchToPageBuilderStage"/>
865+
<actionGroup ref="confirmApplyFromPageBuilderApplyTemplateSlideOut" stepKey="confirmApplyFromPageBuilderApplyTemplateSlideOut">
866+
<argument name="baseContent" value="{{BlockNewPagePageActionsSection.saveBlock}}"/>
867+
</actionGroup>
868+
</test>
837869
</tests>

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

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,58 @@
202202
<waitForPageLoad stepKey="waitForPageReload"/>
203203
<waitForElementVisible selector="{{HeadingOnStorefront.headingText(PageBuilderHeadingTypeProperty_H2.value, PageBuilderHeadingTextProperty.value, '1')}}" stepKey="waitForStorefrontHeadingText2"/>
204204
</test>
205+
<test name="PageBuilderCMSPageCreateAndApplyTemplate">
206+
<annotations>
207+
<features value="PageBuilder"/>
208+
<stories value="CMS Page"/>
209+
<title value="Create and Apply Page Builder Template to CMS Page"/>
210+
<description value="Verify that user can create and apply a Page Builder template to a CMS Page's content"/>
211+
<severity value="CRITICAL"/>
212+
<useCaseId value="PB-341"/>
213+
<testCaseId value="MC-30501"/>
214+
<group value="pagebuilder"/>
215+
<group value="pagebuilder-templates"/>
216+
<group value="pagebuilder-cms-page"/>
217+
</annotations>
218+
<before>
219+
<createData entity="_emptyCmsPage" stepKey="createCMSPage"/>
220+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
221+
<actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage">
222+
<argument name="CMSPage" value="$$createCMSPage$$"/>
223+
</actionGroup>
224+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
225+
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection">
226+
<argument name="contentType" value="PageBuilderButtonsContentType"/>
227+
</actionGroup>
228+
<actionGroup ref="dragContentTypeToStage" stepKey="dragContentTypeToStage">
229+
<argument name="contentType" value="PageBuilderButtonsContentType"/>
230+
</actionGroup>
231+
<seeElement selector="{{ButtonItemOnStage.emptyButtonItemElement('1')}}" stepKey="seeEmptyButton"/>
232+
</before>
233+
<after>
234+
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
235+
<actionGroup ref="navigateToPageBuilderTemplatesGridPage" stepKey="navigateToPageBuilderTemplatesGridPage"/>
236+
<actionGroup ref="filterPageBuilderTemplateGrid" stepKey="filterPageBuilderTemplateGrid"/>
237+
<actionGroup ref="deletePageBuilderTemplate" stepKey="deletePageBuilderTemplate"/>
238+
<actionGroup ref="logout" stepKey="logout"/>
239+
</after>
240+
<!-- Save Template -->
241+
<actionGroup ref="openPageBuilderSaveTemplateModal" stepKey="openPageBuilderSaveTemplateModal"/>
242+
<actionGroup ref="fillPageBuilderSaveTemplateForm" stepKey="fillPageBuilderSaveTemplateForm"/>
243+
<actionGroup ref="savePageBuilderTemplate" stepKey="savePageBuilderTemplate"/>
244+
<!-- Go to CMS Page -->
245+
<actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage">
246+
<argument name="CMSPage" value="$$createCMSPage$$"/>
247+
</actionGroup>
248+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
249+
<!-- Validate Stage Empty -->
250+
<actionGroup ref="verifyEmptyStage" stepKey="verifyEmptyStage"/>
251+
<!-- Apply Template -->
252+
<actionGroup ref="openPageBuilderApplyTemplateSlideOut" stepKey="openPageBuilderApplyTemplateSlideOut"/>
253+
<actionGroup ref="filterPageBuilderTemplateGrid" stepKey="filterPageBuilderTemplateGrid"/>
254+
<actionGroup ref="clickApplyFromPageBuilderApplyTemplateSlideOut" stepKey="clickApplyFromPageBuilderApplyTemplateSlideOut"/>
255+
<actionGroup ref="confirmApplyFromPageBuilderApplyTemplateSlideOut" stepKey="confirmApplyFromPageBuilderApplyTemplateSlideOut"/>
256+
<!-- Validate Stage -->
257+
<seeElement selector="{{ButtonItemOnStage.emptyButtonItemElement('1')}}" stepKey="seeEmptyButton"/>
258+
</test>
205259
</tests>

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

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -899,4 +899,37 @@
899899
</after>
900900
<comment userInput="---merging to remove step---" stepKey="openPageBuilderFullScreen"/>
901901
</test>
902+
<test name="PageBuilderCatalogCategoryCreateAndApplyTemplate" extends="PageBuilderCMSPageCreateAndApplyTemplate">
903+
<annotations>
904+
<features value="PageBuilder"/>
905+
<stories value="Catalog Category"/>
906+
<title value="Create and Apply Page Builder Template to Catalog Category"/>
907+
<description value="Verify that user can create and apply a Page Builder template to a Catalog Category's description"/>
908+
<severity value="CRITICAL"/>
909+
<useCaseId value="PB-341"/>
910+
<testCaseId value="MC-30606"/>
911+
<group value="pagebuilder"/>
912+
<group value="pagebuilder-templates"/>
913+
<group value="pagebuilder-catalog-category"/>
914+
</annotations>
915+
<before>
916+
<createData entity="_defaultCategory" stepKey="createCMSPage"/>
917+
<actionGroup ref="NavigateToCreatedCategoryActionGroup" stepKey="navigateToCreatedCMSPage">
918+
<argument name="Category" value="$$createCMSPage$$"/>
919+
</actionGroup>
920+
<actionGroup ref="expandAdminCategorySection" stepKey="expandAdminCategorySection" after="navigateToCreatedCMSPage"/>
921+
<actionGroup ref="openPageBuilderForAttribute" stepKey="switchToPageBuilderStage"/>
922+
</before>
923+
<actionGroup ref="savePageBuilderTemplate" stepKey="savePageBuilderTemplate">
924+
<argument name="baseContent" value="{{PageBuilderStage.applyTemplateButton}}"/>
925+
</actionGroup>
926+
<actionGroup ref="NavigateToCreatedCategoryActionGroup" stepKey="navigateToCreatedCMSPage">
927+
<argument name="Category" value="$$createCMSPage$$"/>
928+
</actionGroup>
929+
<actionGroup ref="expandAdminCategorySection" stepKey="expandAdminCategorySection" after="navigateToCreatedCMSPage"/>
930+
<actionGroup ref="openPageBuilderForAttribute" stepKey="switchToPageBuilderStage"/>
931+
<actionGroup ref="confirmApplyFromPageBuilderApplyTemplateSlideOut" stepKey="confirmApplyFromPageBuilderApplyTemplateSlideOut">
932+
<argument name="baseContent" value="{{PageBuilderStage.applyTemplateButton}}"/>
933+
</actionGroup>
934+
</test>
902935
</tests>

0 commit comments

Comments
 (0)