Skip to content

Commit 3f9537b

Browse files
committed
PB-365: Templates MFTF Test Coverage
- Adding more actiongroups and stuff for templates page
1 parent 2d2e195 commit 3f9537b

File tree

4 files changed

+105
-18
lines changed

4 files changed

+105
-18
lines changed

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

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11-
<actionGroup name="openSaveTemplateModal">
11+
<actionGroup name="openPageBuilderSaveTemplateModal">
1212
<waitForElementVisible selector="{{PageBuilderStage.saveAsTemplateButton}}" stepKey="waitForSaveAsTemplateButton"/>
1313
<click selector="{{PageBuilderStage.saveAsTemplateButton}}" stepKey="clickSaveAsTemplateButton"/>
1414
<waitForPageLoad stepKey="waitForModalLoad"/>
1515
<waitForElementVisible selector="{{PageBuilderSaveTemplateModal.activeModal}}" stepKey="waitForModalVisible"/>
1616
<see userInput="Save Content as Template" selector="{{PageBuilderSaveTemplateModal.title}}" stepKey="seeTitle"/>
1717
<waitForPageLoad stepKey="waitForPreviewLoad"/>
1818
</actionGroup>
19-
<actionGroup name="fillSaveTemplateForm">
19+
<actionGroup name="fillPageBuilderSaveTemplateForm">
2020
<arguments>
2121
<argument name="templateName" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
2222
<argument name="createdFor" defaultValue="{{PageBuilderTemplateCreatedFor.any}}" type="string"/>
@@ -27,7 +27,7 @@
2727
<waitForElement selector="{{PageBuilderSaveTemplateModal.createdForSelect}}" stepKey="waitForCreatedFor"/>
2828
<selectOption userInput="{{createdFor}}" selector="{{PageBuilderSaveTemplateModal.createdForSelect}}" stepKey="selectCreatedFor"/>
2929
</actionGroup>
30-
<actionGroup name="validateSaveTemplateModal">
30+
<actionGroup name="validatePageBuilderSaveTemplateModal">
3131
<waitForPageLoad stepKey="waitForModalLoad"/>
3232
<see userInput="Save Content as Template" selector="{{PageBuilderSaveTemplateModal.title}}" stepKey="seeTitle"/>
3333
<seeElement selector="{{PageBuilderSaveTemplateModal.closeButton}}" stepKey="seeCloseButton"/>
@@ -39,21 +39,21 @@
3939
<seeElement selector="{{PageBuilderSaveTemplateModal.saveButton}}" stepKey="seeSaveButton"/>
4040
<seeElement selector="{{PageBuilderSaveTemplateModal.cancelButton}}" stepKey="seeCancelButton"/>
4141
</actionGroup>
42-
<actionGroup name="clickSaveOnSaveTemplateModal">
42+
<actionGroup name="clickSaveOnPageBuilderSaveTemplateModal">
4343
<waitForPageLoad stepKey="waitForModalLoad"/>
4444
<waitForElement selector="{{PageBuilderSaveTemplateModal.saveButton}}" stepKey="waitForSaveButton"/>
4545
<click selector="{{PageBuilderSaveTemplateModal.saveButton}}" stepKey="clickSaveButton"/>
4646
<waitForPageLoad stepKey="waitForModalClose"/>
4747
<waitForElementVisible selector="{{PageBuilderSaveTemplateConfirmationModal.modal}}" stepKey="waitForConfirmationModal"/>
4848
</actionGroup>
49-
<actionGroup name="validateSaveTemplateConfirmationModal">
49+
<actionGroup name="validatePageBuilderSaveTemplateConfirmationModal">
5050
<waitForPageLoad stepKey="waitForModalLoad"/>
5151
<seeElement selector="{{PageBuilderSaveTemplateConfirmationModal.title}}" stepKey="seeTitle"/>
5252
<seeElement selector="{{PageBuilderSaveTemplateConfirmationModal.closeButton}}" stepKey="seeCloseButton"/>
5353
<seeElement selector="{{PageBuilderSaveTemplateConfirmationModal.message}}" stepKey="seeMessage"/>
5454
<seeElement selector="{{PageBuilderSaveTemplateConfirmationModal.okButton}}" stepKey="seeOKButton"/>
5555
</actionGroup>
56-
<actionGroup name="saveTemplate">
56+
<actionGroup name="savePageBuilderTemplate">
5757
<arguments>
5858
<argument name="baseContent" defaultValue="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" type="string"/>
5959
</arguments>
@@ -67,7 +67,7 @@
6767
<waitForElementNotVisible time="5" selector="{{PageBuilderSaveTemplateConfirmationModal.modal}}" stepKey="waitForModalNotVisible"/>
6868
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForContentUnderModalVisible"/>
6969
</actionGroup>
70-
<actionGroup name="closeSaveTemplateModal">
70+
<actionGroup name="closePageBuilderSaveTemplateModal">
7171
<arguments>
7272
<argument name="baseContent" defaultValue="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" type="string"/>
7373
</arguments>
@@ -78,15 +78,15 @@
7878
<waitForElementNotVisible time="5" selector="{{PageBuilderSaveTemplateModal.activeModal}}" stepKey="waitForModalNotVisible"/>
7979
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForContentUnderModalVisible"/>
8080
</actionGroup>
81-
<actionGroup name="openApplyTemplateSlideOut">
81+
<actionGroup name="openPageBuilderApplyTemplateSlideOut">
8282
<waitForElementVisible selector="{{PageBuilderStage.applyTemplateButton}}" stepKey="waitForApplyTemplateButton"/>
8383
<click selector="{{PageBuilderStage.applyTemplateButton}}" stepKey="clickApplyTemplateButton"/>
8484
<waitForPageLoad stepKey="waitForSlideOutLoad"/>
8585
<waitForElementVisible selector="{{PageBuilderApplyTemplateSlideOut.activeSlideOut}}" stepKey="waitForSlideOut"/>
8686
<see userInput="Apply Template" selector="{{PageBuilderApplyTemplateSlideOut.title}}" stepKey="seeTitle"/>
8787
<waitForPageLoad stepKey="waitForSlideOutForm"/>
8888
</actionGroup>
89-
<actionGroup name="clickApplyTemplateFromSlideOut">
89+
<actionGroup name="clickApplyFromPageBuilderApplyTemplateSlideOut">
9090
<arguments>
9191
<argument name="templateIdentifier" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
9292
</arguments>
@@ -95,14 +95,14 @@
9595
<click selector="{{PageBuilderApplyTemplateGrid.applyButton(templateIdentifier)}}" stepKey="clickApplyButton"/>
9696
<waitForPageLoad stepKey="waitForPageLoad"/>
9797
</actionGroup>
98-
<actionGroup name="confirmApplyTemplateFromSlideOut" extends="confirmRemovalModal">
98+
<actionGroup name="confirmApplyFromPageBuilderApplyTemplateSlideOut" extends="confirmRemovalModal">
9999
<arguments>
100100
<argument name="baseContent" defaultValue="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" type="string"/>
101101
</arguments>
102102
<waitForElementNotVisible time="5" selector="{{PageBuilderApplyTemplateSlideOut.slideOut}}" stepKey="waitForSlideOutNotVisible" after="waitForPageLoad2"/>
103103
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForContentUnderSlideOutVisible" after="waitForSlideOutNotVisible"/>
104104
</actionGroup>
105-
<actionGroup name="closeApplyTemplateSlideOut">
105+
<actionGroup name="closePageBuilderApplyTemplateSlideOut">
106106
<arguments>
107107
<argument name="baseContent" defaultValue="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" type="string"/>
108108
</arguments>
@@ -113,4 +113,46 @@
113113
<waitForElementNotVisible time="5" selector="{{PageBuilderApplyTemplateSlideOut.slideOut}}" stepKey="waitForSlideOutNotVisible"/>
114114
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForContentUnderSlideOutVisible"/>
115115
</actionGroup>
116+
<actionGroup name="navigateToPageBuilderTemplatesGridPage">
117+
<amOnPage url="{{PageBuilderTemplatesGridPage.url}}" stepKey="goToPageBuilderTemplatesGridPage"/>
118+
<waitForPageLoad stepKey="waitForPageLoad"/>
119+
<waitForElementVisible selector="{{PageBuilderTemplatePageGrid.pageTitle}}" stepKey="waitForPageTitle"/>
120+
<see userInput="Templates" selector="{{PageBuilderTemplatePageGrid.pageTitle}}" stepKey="seePageTitle"/>
121+
</actionGroup>
122+
<actionGroup name="deletePageBuilderTemplate">
123+
<arguments>
124+
<argument name="templateIdentifier" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
125+
</arguments>
126+
<waitForPageLoad stepKey="waitForPageLoad"/>
127+
<waitForElementVisible selector="{{PageBuilderTemplatePageGrid.deleteButton(templateIdentifier)}}" stepKey="waitForDeleteButton"/>
128+
<click selector="{{PageBuilderTemplatePageGrid.deleteButton(templateIdentifier)}}" stepKey="clickDeleteButton"/>
129+
<waitForPageLoad stepKey="waitForConfirmationModalLoad"/>
130+
<waitForElementVisible selector="{{PageBuilderDeleteTemplateConfirmationModal.modal}}" stepKey="waitForConfirmationModalVisible"/>
131+
<waitForElementVisible selector="{{PageBuilderDeleteTemplateConfirmationModal.okButton}}" stepKey="waitForConfirmationModalOKButton"/>
132+
<click selector="{{PageBuilderDeleteTemplateConfirmationModal.okButton}}" stepKey="clickConfirmationModalOKButton"/>
133+
<waitForPageLoad stepKey="waitForDelete"/>
134+
<see userInput="Template successfully deleted." stepKey="seeSuccessMessage"/>
135+
</actionGroup>
136+
<actionGroup name="filterPageBuilderTemplateGrid">
137+
<arguments>
138+
<argument name="templateName" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
139+
</arguments>
140+
<conditionalClick selector="{{PageBuilderTemplateGridFilter.clearFilters}}" dependentSelector="{{PageBuilderTemplateGridFilter.clearFilters}}" visible="true" stepKey="clickClearFilters"/>
141+
<waitForPageLoad stepKey="waitForClearFilters"/>
142+
<dontSeeElement selector="{{PageBuilderTemplateGridFilter.clearFilters}}" stepKey="dontSeeClearFilters"/>
143+
<click selector="{{PageBuilderTemplateGridFilter.filters}}" stepKey="openFilters"/>
144+
<waitForElementVisible selector="{{PageBuilderTemplateGridFilter.templateName}}" stepKey="waitForTemplateNameFilter"/>
145+
<fillField selector="{{PageBuilderTemplateGridFilter.templateName}}" userInput="{{templateName}}" stepKey="fillTemplateNameFilter"/>
146+
<waitForElementVisible selector="{{PageBuilderTemplateGridFilter.applyFilters}}" stepKey="waitForApplyFilters"/>
147+
<click selector="{{PageBuilderTemplateGridFilter.applyFilters}}" stepKey="clickApplyFilters"/>
148+
<waitForPageLoad stepKey="waitForFilterOnGrid"/>
149+
<waitForElementVisible selector="{{PageBuilderTemplateGridFilter.clearFilters}}" stepKey="waitForClearFilters2"/>
150+
</actionGroup>
151+
<actionGroup name="clearFiltersPageBuilderTemplateGrid">
152+
<conditionalClick selector="{{PageBuilderTemplateGridFilter.clearFilters}}" dependentSelector="{{PageBuilderTemplateGridFilter.clearFilters}}" visible="true" stepKey="clickClearFilters"/>
153+
<waitForPageLoad stepKey="waitForClearFilters"/>
154+
<dontSeeElement selector="{{PageBuilderTemplateGridFilter.clearFilters}}" stepKey="dontSeeClearFilters"/>
155+
</actionGroup>
156+
<!-- todo: search by keyword in grid-->
157+
<!-- todo: actiongroup descriptions-->
116158
</actionGroups>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
11+
<page name="PageBuilderTemplatesGridPage" url="/pagebuilder/template" area="admin" module="Magento_PageBuilder">
12+
<section name="PageBuilderTemplatePageGrid"/>
13+
<section name="PageBuilderDeleteTemplateConfirmationModal"/>
14+
</page>
15+
</pages>

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

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
<element name="activeSlideOut" type="text" selector="//aside[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal') and contains(@class,'_show')]"/>
3333
<element name="title" type="text" selector="//aside[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal')]//header//h1"/>
3434
<element name="closeButton" type="text" selector="//aside[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
35-
<!-- todo: filter stuff -->
3635
</section>
3736
<section name="PageBuilderApplyTemplateGrid">
3837
<!-- <element name="emptyGridMessage" type="text" parameterized="true" selector="//table[@data-role='grid']//td[@class='pagebuilder-empty-dynamic-row' and @align='center' and .='{{arg1}}']"/>-->
@@ -46,4 +45,31 @@
4645
<element name="allRows" type="text" selector="//table[@data-role='grid']//tbody//tr"/>
4746
<element name="applyButton" type="button" parameterized="true" selector="//tr//div[text()='{{textInRow}}']/parent::td/parent::tr//button[text()='Apply']"/>
4847
</section>
48+
<section name="PageBuilderTemplatePageGrid">
49+
<element name="pageTitle" type="text" selector="//header[contains(@class,'page-header')]//h1"/>
50+
<!-- <element name="emptyGridMessage" type="text" parameterized="true" selector="//table[@data-role='grid']//td[@class='pagebuilder-empty-dynamic-row' and @align='center' and .='{{arg1}}']"/>-->
51+
<element name="base" type="text" selector="//table[@data-role='grid']"/>
52+
<element name="columnHeader" type="text" parameterized="true" selector="//table[@data-role='grid']//thead//th[{{columnIndex}}]//span[.='{{columnName}}']"/>
53+
<element name="pagination" type="text" selector=".admin__data-grid-pager"/>
54+
<element name="paginationLeftButton" type="button" selector=".admin__data-grid-pager button.action-previous"/>
55+
<element name="paginationRightButton" type="button" selector=".admin__data-grid-pager button.action-next"/>
56+
<element name="paginationPage" type="input" selector=".admin__data-grid-pager input.admin__control-text"/>
57+
<element name="paginationTotalPages" type="text" parameterized="true" selector="//div[@class='admin__data-grid-pager']//label[@class='admin__control-support-text' and .='of {{total}}']"/>
58+
<element name="allRows" type="text" selector="//table[@data-role='grid']//tbody//tr"/>
59+
<element name="deleteButton" type="button" parameterized="true" selector="//tr//div[text()='{{textInRow}}']/parent::td/parent::tr//a[text()='Delete']"/>
60+
</section>
61+
<section name="PageBuilderDeleteTemplateConfirmationModal">
62+
<element name="modal" type="text" selector="//aside[contains(@class,'confirm')]"/>
63+
<element name="title" type="text" selector="//aside[contains(@class,'confirm')]//header//h1"/>
64+
<element name="closeButton" type="button" selector="//aside[contains(@class,'confirm')]//header//button[contains(@class,'action-close')]//span[.='Close']"/>
65+
<element name="message" type="text" selector="//aside[contains(@class,'confirm')]//*[@data-role='content']//*"/>
66+
<element name="okButton" type="button" selector="//aside[contains(@class,'confirm')]//footer//button//span[.='OK']"/>
67+
<element name="cancelButton" type="button" selector="//aside[contains(@class,'confirm')]//footer//button//span[.='Cancel']"/>
68+
</section>
69+
<section name="PageBuilderTemplateGridFilter">
70+
<element name="clearFilters" type="button" selector="//*[contains(@class,'admin__data-grid-header')]//button[@data-action='grid-filter-reset' and text()='Clear all']"/>
71+
<element name="filters" type="button" selector="//*[contains(@class,'admin__data-grid-header')]//button[@data-action='grid-filter-expand' and text()='Filters']"/>
72+
<element name="applyFilters" type="button" selector="//*[contains(@class,'admin__data-grid-header')]//button[@data-action='grid-filter-apply']//span[text()='Apply Filters']"/>
73+
<element name="templateName" type="text" selector="//*[contains(@class,'admin__data-grid-header')]//input[@name='name']"/>
74+
</section>
4975
</sections>

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,15 @@
3838
</before>
3939
<after>
4040
<deleteData createDataKey="createCMSPage" stepKey="deleteCreatedCategory"/>
41+
<actionGroup ref="navigateToPageBuilderTemplatesGridPage" stepKey="navigateToPageBuilderTemplatesGridPage"/>
42+
<actionGroup ref="filterPageBuilderTemplateGrid" stepKey="filterPageBuilderTemplateGrid"/>
43+
<actionGroup ref="deletePageBuilderTemplate" stepKey="deletePageBuilderTemplate"/>
4144
<actionGroup ref="logout" stepKey="logout"/>
4245
</after>
4346
<!-- Save Template -->
44-
<actionGroup ref="openSaveTemplateModal" stepKey="openSaveTemplateModal"/>
45-
<actionGroup ref="fillSaveTemplateForm" stepKey="fillSaveTemplateForm"/>
46-
<actionGroup ref="saveTemplate" stepKey="saveTemplate"/>
47+
<actionGroup ref="openPageBuilderSaveTemplateModal" stepKey="openPageBuilderSaveTemplateModal"/>
48+
<actionGroup ref="fillPageBuilderSaveTemplateForm" stepKey="fillPageBuilderSaveTemplateForm"/>
49+
<actionGroup ref="savePageBuilderTemplate" stepKey="savePageBuilderTemplate"/>
4750
<!-- Go to CMS Page -->
4851
<actionGroup ref="NavigateToCreatedCMSPageActionGroup" stepKey="navigateToCreatedCMSPage">
4952
<argument name="CMSPage" value="$$createCMSPage$$"/>
@@ -52,9 +55,10 @@
5255
<!-- Validate Stage Empty -->
5356
<actionGroup ref="verifyEmptyStage" stepKey="verifyEmptyStage"/>
5457
<!-- Apply Template -->
55-
<actionGroup ref="openApplyTemplateSlideOut" stepKey="openApplyTemplateSlideOut"/>
56-
<actionGroup ref="clickApplyTemplateFromSlideOut" stepKey="clickApplyTemplateFromSlideOut"/>
57-
<actionGroup ref="confirmApplyTemplateFromSlideOut" stepKey="confirmApplyTemplateFromSlideOut"/>
58+
<actionGroup ref="openPageBuilderApplyTemplateSlideOut" stepKey="openPageBuilderApplyTemplateSlideOut"/>
59+
<actionGroup ref="filterPageBuilderTemplateGrid" stepKey="filterPageBuilderTemplateGrid"/>
60+
<actionGroup ref="clickApplyFromPageBuilderApplyTemplateSlideOut" stepKey="clickApplyFromPageBuilderApplyTemplateSlideOut"/>
61+
<actionGroup ref="confirmApplyFromPageBuilderApplyTemplateSlideOut" stepKey="confirmApplyFromPageBuilderApplyTemplateSlideOut"/>
5862
<!-- Validate Stage -->
5963
<seeElement selector="{{ButtonItemOnStage.emptyButtonItemElement('1')}}" stepKey="seeEmptyButton"/>
6064
</test>

0 commit comments

Comments
 (0)