Skip to content

Commit d0d68fc

Browse files
committed
PB-365: Templates MFTF Test Coverage
- Fixing broken tests - Adding validation for preview image modal
1 parent 722ef8d commit d0d68fc

File tree

3 files changed

+109
-3
lines changed

3 files changed

+109
-3
lines changed

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

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,14 @@
252252
<annotations>
253253
<description>Verifies that you cannot navigates to the Page Builder Templates grid page via direct url nor via the left nav menu.</description>
254254
</annotations>
255+
<arguments>
256+
<argument name="pageHeading" defaultValue="Sorry, you need permissions to view this content." type="string"/>
257+
</arguments>
255258
<amOnPage url="{{PageBuilderTemplatesGridPage.url}}" stepKey="goToPageBuilderTemplatesGridPage"/>
256259
<waitForPageLoad stepKey="waitForPageLoad"/>
257260
<waitForElementVisible selector="{{PageBuilderTemplatesPage.pageTitle}}" stepKey="waitForPageTitle"/>
258261
<see userInput="Magento Admin" selector="{{PageBuilderTemplatesPage.pageTitle}}" stepKey="seePageTitle"/>
259-
<see selector="{{AdminHeaderSection.pageHeading}}" userInput="Sorry, you need permissions to view this content." stepKey="seeErrorHeading"/>
262+
<see selector="{{AdminHeaderSection.pageHeading}}" userInput="{{pageHeading}}" stepKey="seeErrorHeading"/>
260263
<waitForElementVisible selector="{{AdminMenuSection.content}}" stepKey="waitForContent"/>
261264
<click selector="{{AdminMenuSection.content}}" stepKey="clickContent"/>
262265
<waitForPageLoad stepKey="waitForMenu"/>
@@ -303,7 +306,7 @@
303306
<click selector="{{section.filters}}" stepKey="openFilters"/>
304307
<waitForElementVisible selector="{{section.templateIdFromFilter}}" stepKey="waitForTemplateIdFilter"/>
305308
<fillField selector="{{section.templateIdFromFilter}}" userInput="{{templateIdFrom}}" stepKey="fillTemplateIdFromFilter"/>
306-
<fillField selector="{{section.templateIdFromFilter}}" userInput="{{templateIdTo}}" stepKey="fillTemplateIdToFilter"/>
309+
<fillField selector="{{section.templateIdToFilter}}" userInput="{{templateIdTo}}" stepKey="fillTemplateIdToFilter"/>
307310
<waitForElementVisible selector="{{section.applyFilters}}" stepKey="waitForApplyFilters"/>
308311
<click selector="{{section.applyFilters}}" stepKey="clickApplyFilters"/>
309312
<waitForPageLoad stepKey="waitForFilterOnGrid"/>
@@ -528,4 +531,56 @@
528531
<click selector="{{section.previousPageButton}}" stepKey="clickPreviousPageButton"/>
529532
<waitForPageLoad stepKey="waitForPreviousPage"/>
530533
</actionGroup>
534+
<actionGroup name="openPageBuilderTemplatePreviewImageModal">
535+
<annotations>
536+
<description>Opens the template preview image modal from the template grid.</description>
537+
</annotations>
538+
<arguments>
539+
<argument name="templateName" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
540+
<argument name="section" defaultValue="PageBuilderTemplatesPageGrid"/>
541+
<argument name="rowIndex" defaultValue="1" type="string"/>
542+
</arguments>
543+
<waitForElementVisible selector="{{section.image(rowIndex)}}" stepKey="waitForPreviewImageInGrid"/>
544+
<click selector="{{section.image(rowIndex)}}" stepKey="clickPreviewImageInGrid"/>
545+
<waitForPageLoad stepKey="waitForModalLoad"/>
546+
<waitForElementVisible selector="{{PageBuilderPreviewImageModal.activeModal}}" stepKey="waitForModalVisible"/>
547+
<see userInput="{{templateName}}" selector="{{PageBuilderPreviewImageModal.title}}" stepKey="seeTitle"/>
548+
<waitForPageLoad stepKey="waitForPreviewLoad"/>
549+
</actionGroup>
550+
<actionGroup name="closePageBuilderTemplatePreviewImageModal">
551+
<annotations>
552+
<description>Closes the template preview image modal.</description>
553+
</annotations>
554+
<arguments>
555+
<argument name="section" defaultValue="PageBuilderTemplatesPageGrid"/>
556+
</arguments>
557+
<waitForPageLoad stepKey="waitForModalLoad"/>
558+
<waitForElementVisible selector="{{PageBuilderPreviewImageModal.closeButton}}" stepKey="waitForCloseButton"/>
559+
<click selector="{{PageBuilderPreviewImageModal.closeButton}}" stepKey="clickCloseButton"/>
560+
<waitForPageLoad stepKey="waitForModalClose"/>
561+
<waitForElementNotVisible time="5" selector="{{PageBuilderPreviewImageModal.activeModal}}" stepKey="waitForModalNotVisible"/>
562+
<waitForElementVisible time="10" selector="{{section.grid}}" stepKey="waitForTemplateGridVisible"/>
563+
</actionGroup>
564+
<actionGroup name="validatePageBuilderTemplatePreviewImageModal">
565+
<annotations>
566+
<description>Validate all buttons and the image on the template image preview modal.</description>
567+
</annotations>
568+
<arguments>
569+
<argument name="templateName" defaultValue="{{PageBuilderTemplateNameRandom.name}}" type="string"/>
570+
</arguments>
571+
<waitForPageLoad stepKey="waitForModalLoad"/>
572+
<waitForElementVisible selector="{{PageBuilderPreviewImageModal.image}}" stepKey="waitForImageLoad"/>
573+
<see userInput="{{templateName}}" selector="{{PageBuilderPreviewImageModal.title}}" stepKey="seeTitle"/>
574+
<seeElement selector="{{PageBuilderPreviewImageModal.closeButton}}" stepKey="seeCloseButton"/>
575+
<executeJS function="return document.evaluate(&quot;{{PageBuilderPreviewImageModal.image}}&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.naturalHeight" stepKey="screenshotNaturalHeight"/>
576+
<executeJS function="return document.evaluate(&quot;{{PageBuilderPreviewImageModal.image}}&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.naturalWidth" stepKey="screenshotNaturalWidth"/>
577+
<assertGreaterThan stepKey="assertNaturalHeightGreaterThanZero">
578+
<expectedResult type="int">0</expectedResult>
579+
<actualResult type="variable">screenshotNaturalHeight</actualResult>
580+
</assertGreaterThan>
581+
<assertGreaterThan stepKey="assertNaturalWidthGreaterThanZero">
582+
<expectedResult type="int">0</expectedResult>
583+
<actualResult type="variable">screenshotNaturalWidth</actualResult>
584+
</assertGreaterThan>
585+
</actionGroup>
531586
</actionGroups>

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<element name="nextPageButton" type="button" selector="[data-bind*=pagebuilder_template_grid] .admin__data-grid-pager button.action-next"/>
7676
<element name="columnHeader" type="text" parameterized="true" selector="//*[contains(@data-bind,'pagebuilder_template_grid')]//table[@data-role='grid']//thead//span[.='{{columnName}}']"/>
7777
<!-- Grid -->
78+
<element name="grid" type="text" selector="//*[contains(@data-bind,'pagebuilder_template_grid')]//table[@data-role='grid']//tbody"/>
7879
<element name="emptyGrid" type="text" selector="//*[contains(@data-bind,'pagebuilder_template_grid')]//table[@data-role='grid']//tbody//td"/>
7980
<element name="allRows" type="text" selector="//*[contains(@data-bind,'pagebuilder_template_grid')]//table[@data-role='grid']//tbody//tr"/>
8081
<element name="templateId" type="text" parameterized="true" selector="//*[contains(@data-bind,'pagebuilder_template_grid')]//table[@data-role='grid']//tbody//tr[{{rowIndex}}]//td[1]"/>
@@ -107,6 +108,7 @@
107108
<element name="nextPageButton" type="button" selector=".pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid .admin__data-grid-pager button.action-next"/>
108109
<element name="columnHeader" type="text" parameterized="true" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//thead//span[.='{{columnName}}']"/>
109110
<!-- Grid -->
111+
<element name="grid" type="text" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//tbody"/>
110112
<element name="emptyGrid" type="text" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//tbody//td"/>
111113
<element name="allRows" type="text" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//tbody//tr"/>
112114
<element name="templateId" type="text" parameterized="true" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//tbody//tr[{{rowIndex}}]//td[1]"/>
@@ -116,4 +118,10 @@
116118
<element name="createdDate" type="text" parameterized="true" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//table[@data-role='grid']//tbody//tr[{{rowIndex}}]//td[5]"/>
117119
<element name="applyButton" type="button" parameterized="true" selector="//*[contains(@class,'pagebuilder_stage_template_pagebuilder_stage_template_modal_pagebuilder_stage_template_grid')]//tr//div[text()='{{textInRow}}']/parent::td/parent::tr//button[text()='Apply']"/>
118120
</section>
121+
<section name="PageBuilderPreviewImageModal">
122+
<element name="activeModal" type="text" selector="//aside[contains(@class,'_image-box') and contains(@class,'_show')]"/>
123+
<element name="title" type="text" selector="//aside[contains(@class,'_image-box') and contains(@class,'_show')]//header//h1"/>
124+
<element name="closeButton" type="button" selector="//aside[contains(@class,'_image-box') and contains(@class,'_show')]//header//button[contains(@class,'action-close')]"/>
125+
<element name="image" type="text" selector="//aside[contains(@class,'_image-box') and contains(@class,'_show')]//*[@data-role='content']//img[contains(@class,'preview-image')]"/>
126+
</section>
119127
</sections>

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

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,9 @@
489489
<actionGroup ref="logout" stepKey="logout"/>
490490
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
491491
<!-- Verify Unsuccessful Navigation to Templates Page -->
492-
<actionGroup ref="verifyCannotNavigateToPageBuilderTemplatesGridPage" stepKey="verifyCannotNavigateToPageBuilderTemplatesGridPage"/>
492+
<actionGroup ref="verifyCannotNavigateToPageBuilderTemplatesGridPage" stepKey="verifyCannotNavigateToPageBuilderTemplatesGridPage">
493+
<argument name="pageHeading" value="404 Error"/>
494+
</actionGroup>
493495
</test>
494496
<test name="PageBuilderApplyTemplateMultipleTimes">
495497
<annotations>
@@ -675,6 +677,17 @@
675677
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
676678
<argument name="total" value="1"/>
677679
</actionGroup>
680+
<!-- Validate Preview Image -->
681+
<actionGroup ref="openPageBuilderTemplatePreviewImageModal" stepKey="openPageBuilderTemplatePreviewImageModal">
682+
<argument name="templateName" value="{{PageBuilderTemplateName_EdgeCases.noLeadingSpace}}"/>
683+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
684+
</actionGroup>
685+
<actionGroup ref="validatePageBuilderTemplatePreviewImageModal" stepKey="validatePageBuilderTemplatePreviewImageModal">
686+
<argument name="templateName" value="{{PageBuilderTemplateName_EdgeCases.noLeadingSpace}}"/>
687+
</actionGroup>
688+
<actionGroup ref="closePageBuilderTemplatePreviewImageModal" stepKey="closePageBuilderTemplatePreviewImageModal">
689+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
690+
</actionGroup>
678691
<actionGroup ref="closePageBuilderApplyTemplateSlideOut" stepKey="closePageBuilderApplyTemplateSlideOut"/>
679692
<!-- Create 0 Template Name -->
680693
<actionGroup ref="openPageBuilderSaveTemplateModal" stepKey="openPageBuilderSaveTemplateModal4"/>
@@ -1073,6 +1086,18 @@
10731086
<expectedResult type="variable">templateNameOnPageOne</expectedResult>
10741087
<actualResult type="variable">templateNameOnPageOneAgain</actualResult>
10751088
</assertEquals>
1089+
<!-- Validate Preview Image -->
1090+
<actionGroup ref="clearFiltersPageBuilderTemplateGrid" stepKey="clearFiltersPageBuilderTemplateGrid7"/>
1091+
<actionGroup ref="searchByKeywordPageBuilderTemplateGrid" stepKey="searchByKeywordPageBuilderTemplateGrid7">
1092+
<argument name="keyword" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1093+
</actionGroup>
1094+
<actionGroup ref="openPageBuilderTemplatePreviewImageModal" stepKey="openPageBuilderTemplatePreviewImageModal">
1095+
<argument name="templateName" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1096+
</actionGroup>
1097+
<actionGroup ref="validatePageBuilderTemplatePreviewImageModal" stepKey="validatePageBuilderTemplatePreviewImageModal">
1098+
<argument name="templateName" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1099+
</actionGroup>
1100+
<actionGroup ref="closePageBuilderTemplatePreviewImageModal" stepKey="closePageBuilderTemplatePreviewImageModal"/>
10761101
</test>
10771102
<test name="PageBuilderApplyTemplateGridFunctionality" extends="PageBuilderTemplateGridPageGridFunctionality">
10781103
<annotations>
@@ -1257,6 +1282,24 @@
12571282
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
12581283
</actionGroup>
12591284
<grabTextFrom selector="{{PageBuilderApplyTemplatesGrid.templateName('1')}}" stepKey="templateNameOnPageOneAgain"/>
1285+
<!-- Validate Preview Image -->
1286+
<actionGroup ref="clearFiltersPageBuilderTemplateGrid" stepKey="clearFiltersPageBuilderTemplateGrid7">
1287+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
1288+
</actionGroup>
1289+
<actionGroup ref="searchByKeywordPageBuilderTemplateGrid" stepKey="searchByKeywordPageBuilderTemplateGrid7">
1290+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
1291+
<argument name="keyword" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1292+
</actionGroup>
1293+
<actionGroup ref="openPageBuilderTemplatePreviewImageModal" stepKey="openPageBuilderTemplatePreviewImageModal">
1294+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
1295+
<argument name="templateName" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1296+
</actionGroup>
1297+
<actionGroup ref="validatePageBuilderTemplatePreviewImageModal" stepKey="validatePageBuilderTemplatePreviewImageModal">
1298+
<argument name="templateName" value="{{PageBuilderTemplateName_Sorting.aaa}}"/>
1299+
</actionGroup>
1300+
<actionGroup ref="closePageBuilderTemplatePreviewImageModal" stepKey="closePageBuilderTemplatePreviewImageModal">
1301+
<argument name="section" value="PageBuilderApplyTemplatesGrid"/>
1302+
</actionGroup>
12601303
</test>
12611304
<test name="PageBuilderCreateTemplateOnCMSBlockForPageAndApplyTemplateToCatalogCategory">
12621305
<annotations>

0 commit comments

Comments
 (0)