Skip to content

Commit c3882eb

Browse files
committed
MC-3694: Add/Update MFTF Tests
- Adding tests for inline banner edit textarea & tinymce3 - Fixing failing inline edit tests - Adding supporting action groups and selectors
1 parent 1ae8d0f commit c3882eb

File tree

5 files changed

+77
-62
lines changed

5 files changed

+77
-62
lines changed

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,17 @@
109109
<fillField selector="{{PageBuilderStage.inlineWYSIWYGEditor(contentType.role, index)}}" userInput="{{content}}" stepKey="enterContentIntoEditor"/>
110110
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="loseFocusFromEditor"/>
111111
</actionGroup>
112+
<actionGroup name="inlineEditTextAreaFromStage">
113+
<arguments>
114+
<argument name="contentType"/>
115+
<argument name="content" type="string"/>
116+
<argument name="index" defaultValue="1" type="string"/>
117+
</arguments>
118+
<click selector="{{PageBuilderStage.inlineTextAreaEditor(contentType.role, index)}}" stepKey="focusOnEditorArea"/>
119+
<waitForPageLoad stepKey="waitForPageLoad"/>
120+
<fillField selector="{{PageBuilderStage.inlineTextAreaEditor(contentType.role, index)}}" userInput="{{content}}" stepKey="enterContentIntoEditor"/>
121+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="loseFocusFromEditor"/>
122+
</actionGroup>
112123
<actionGroup name="verifyUploadImageButtons">
113124
<arguments>
114125
<argument name="contentType"/>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<!-- Content Configuration -->
3939
<element name="messageContent" type="text" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='desktop_image']//div[@data-element='content']//p[.='{{arg2}}']" parameterized="true"/>
4040
<element name="noMessageContent" type="text" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='desktop_image']//div[@data-element='content'][.='Edit Banner Text'][not(*)]" parameterized="true"/>
41+
<element name="messageContentTextArea" type="text" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='desktop_image']//div[@data-element='content'][.='{{arg2}}']" parameterized="true"/>
4142
<element name="linkUrl" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/a[contains(@href,'{{arg2}}')]" parameterized="true"/>
4243
<element name="openInNewTab" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/a[contains(@target,'_blank')]" parameterized="true"/>
4344
<element name="button" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='desktop_image']//button" parameterized="true"/>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<element name="onHoverSelectFromGalleryButton" type="button" selector="(//div[contains(@class,'pagebuilder-content-type') and contains(@class,'pagebuilder-{{arg1}}')])[{{arg2}}]//ul[contains(@class,'pagebuilder-options-links')]//label[text()='Select from Gallery']" parameterized="true"/>
3838
<element name="inlineWYSIWYGEditor" type="text" selector="(//div[@data-role='{{arg1}}'])[{{arg2}}]//div[contains(@class,'inline-wysiwyg')]" parameterized="true"/>
3939
<element name="inlineWYSIWYGEditorPanel" type="button" selector="(//div[@data-role='{{arg1}}'])[{{arg2}}]//div[contains(@class,'mce-tinymce-inline')]" parameterized="true"/>
40+
<element name="inlineTextAreaEditor" type="button" selector="(//div[@data-role='{{arg1}}'])[{{arg2}}]//textarea[@class='inline-wysiwyg-textarea']" parameterized="true"/>
4041
</section>
4142
<section name="PageBuilderPanel">
4243
<element name="searchField" type="input" selector='//*[@id="pagebuilder-panel"]/div[1]/a'/>

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

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,6 @@
11551155
<group value="pagebuilder"/>
11561156
<group value="pagebuilder-banner"/>
11571157
<group value="pagebuilder-bannerCommon"/>
1158-
<group value="dh"/>
11591158
</annotations>
11601159
<before>
11611160
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
@@ -2051,62 +2050,6 @@
20512050
<seeElement selector="{{BannerOnBackend.emptyBanner(PageBuilderBannerMessageDefaultProperty.placeholder)}}" stepKey="seeBannerPlaceholder2"/>
20522051
<dontSeeElementInDOM selector="{{BannerOnBackend.imageOnStage('1',PageBuilderBackgroundImage_JPG.fileName)}}" stepKey="dontSeeImageInDOM2"/>
20532052
</test>
2054-
<test name="BannerWYSIWYGDisabledNoInlineEdit">
2055-
<annotations>
2056-
<features value="PageBuilder"/>
2057-
<stories value="Banner"/>
2058-
<title value="Banner - Cannot Inline Edit With WYSIWYG Disabled"/>
2059-
<description value="Verify that a user cannot inline edit Banner content when WYSIWYG is disabled and that content can still be added through Edit Panel"/>
2060-
<severity value="MAJOR"/>
2061-
<useCaseId value="MC-937"/>
2062-
<testCaseId value="MC-3841"/>
2063-
<group value="pagebuilder"/>
2064-
<group value="pagebuilder-banner"/>
2065-
<group value="dh"/>
2066-
</annotations>
2067-
<before>
2068-
<magentoCLI command="config:set cms/wysiwyg/enabled disabled" stepKey="enableWYSIWYG"/>
2069-
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
2070-
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
2071-
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
2072-
</before>
2073-
<after>
2074-
<magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYG"/>
2075-
<actionGroup ref="logout" stepKey="logout"/>
2076-
</after>
2077-
<actionGroup ref="addPageBuilderPageTitle" stepKey="enterPageTitle">
2078-
<argument name="contentType" value="PageBuilderBannerContentType"/>
2079-
</actionGroup>
2080-
<!-- Add Banner -->
2081-
<comment userInput="Add Banner" stepKey="commentAddBanner"/>
2082-
<actionGroup ref="expandPageBuilderPanelGroup" stepKey="expandPageBuilderPanelGroup">
2083-
<argument name="group" value="PageBuilderBannerContentType"/>
2084-
</actionGroup>
2085-
<actionGroup ref="dragContentTypeToContainer" stepKey="dragContentTypeIntoContainer">
2086-
<argument name="contentType" value="PageBuilderBannerContentType"/>
2087-
</actionGroup>
2088-
<!--Validate Stage: Empty Banner -->
2089-
<comment userInput="Validate Stage: Empty Banner" stepKey="commentValidateStage"/>
2090-
<seeElement selector="{{BannerOnBackend.emptyBanner('1')}}" stepKey="seeEmptyBannerContent"/>
2091-
<!--todo: validate see empty content-->
2092-
<!-- Verify Cannot Inline Edit -->
2093-
<comment userInput="Verify Cannot Inline Edit" stepKey="commentCannotInlineEdit"/>
2094-
<click selector="{{PageBuilderStage.inlineWYSIWYGEditor(PageBuilderBannerContentType.role, '1')}}" stepKey="focusOnEditorArea"/>
2095-
<waitForPageLoad stepKey="waitForPageLoad"/>
2096-
<dontSeeElementInDOM selector="{{PageBuilderStage.inlineWYSIWYGEditorPanel(PageBuilderBannerContentType.role, '1')}}" stepKey="dontSeeEditorPanel"/>
2097-
<!-- Edit Banner Content From Edit Panel -->
2098-
<comment userInput="Edit Banner Content From Edit Panel" stepKey="commentEditBanner"/>
2099-
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
2100-
<argument name="contentType" value="PageBuilderBannerContentType"/>
2101-
</actionGroup>
2102-
<waitForElementVisible selector="{{BannerOnConfigurationPanel.textArea}}" stepKey="waitForTextAreaOnEditPanel"/>
2103-
<seeInField selector="{{BannerOnConfigurationPanel.textArea}}" userInput="a" stepKey="verifyTextAreaEmpty"/>
2104-
<fillField selector="{{BannerOnConfigurationPanel.textArea}}" userInput="{{PageBuilderBannerMessageProperty.value}}" stepKey="fillTextArea"/>
2105-
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
2106-
<!-- Validate Stage: Content Edited -->
2107-
<comment userInput="Validate Stage: Content Edited" stepKey="commentValidateStage2"/>
2108-
<seeElement selector="{{BannerOnBackend.messageContent('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStage"/>
2109-
</test>
21102053
<test name="BannerInlineEditStaysFocusedWhileDraggingAndDropping">
21112054
<annotations>
21122055
<features value="PageBuilder"/>

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

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,71 @@
7070
</actionGroup>
7171
<seeElement selector="{{BannerOnFrontend.messageContent('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/>
7272
</test>
73-
<test name="BannerPosterCanInlineEditContentWhenInSmallColumn">
73+
<test name="BannerPosterWYSIWYGDisabledInlineEdit" extends="BannerPosterCanInlineEditContent">
74+
<!--todo: add for each appearance-->
7475
<annotations>
7576
<features value="PageBuilder"/>
7677
<stories value="Banner"/>
77-
<title value="Poster - Can Inline Edit Banner Content When In Small Column"/>
78-
<description value="Verify that users are able to inline edit a poster Banner's content from the stage when the banner is in a small column"/>
78+
<title value="Poster - Inline Edit With WYSIWYG Disabled"/>
79+
<description value="Verify that a user can inline edit Banner poster content when WYSIWYG is disabled"/>
80+
<severity value="MAJOR"/>
81+
<useCaseId value="MC-937"/>
82+
<testCaseId value="MC-3841"/>
83+
<group value="pagebuilder"/>
84+
<group value="pagebuilder-banner"/>
85+
<group value="pagebuilder-bannerPoster"/>
86+
</annotations>
87+
<before>
88+
<remove keyForRemoval="enableWYSIWYG"/>
89+
<remove keyForRemoval="enableTinyMCE4"/>
90+
<magentoCLI command="config:set cms/wysiwyg/enabled disabled" stepKey="disableWYSIWYG" before="loginAsAdmin"/>
91+
</before>
92+
<after>
93+
<magentoCLI command="config:set cms/wysiwyg/enabled enabled" stepKey="enableWYSIWYG" before="logout"/>
94+
</after>
95+
<actionGroup ref="inlineEditTextAreaFromStage" stepKey="inlineEdit">
96+
<argument name="contentType" value="PageBuilderBannerContentType"/>
97+
<argument name="content" value="{{PageBuilderBannerMessageProperty.value}}"/>
98+
</actionGroup>
99+
<executeJS function="return document.querySelector('{{BannerOnConfigurationPanel.textArea}}').value" stepKey="seeMessageText"/>
100+
<assertEquals stepKey="assertTextAreaValueEditPanel" after="seeMessageText">
101+
<expectedResult type="string">{{PageBuilderBannerMessageProperty.value}}</expectedResult>
102+
<actualResult type="variable">seeMessageText</actualResult>
103+
</assertEquals>
104+
<actionGroup ref="assertTextareaContainsValue" stepKey="seeMessageContentStage">
105+
<argument name="selector" value="{{PageBuilderStage.inlineTextAreaEditor(PageBuilderBannerContentType.role, '1')}}"/>
106+
<argument name="value" value="{{PageBuilderBannerMessageProperty.value}}"/>
107+
</actionGroup>
108+
<seeElement selector="{{BannerOnFrontend.messageContentTextArea('1', PageBuilderBannerMessageProperty.value)}}" stepKey="seeMessageContentStorefront"/>
109+
</test>
110+
<test name="BannerPosterTinyMCE3InlineEdit" extends="BannerPosterCanInlineEditContent">
111+
<!--todo: add for each appearance-->
112+
<annotations>
113+
<features value="PageBuilder"/>
114+
<stories value="Banner"/>
115+
<title value="Poster - Inline Edit With TinyMCE3 Enabled"/>
116+
<description value="Verify that a user can inline edit Banner poster content when TinyMCE3 is enabled"/>
117+
<severity value="MAJOR"/>
118+
<useCaseId value="MC-937"/>
119+
<!--<testCaseId value="MC-3841"/>-->
120+
<group value="pagebuilder"/>
121+
<group value="pagebuilder-banner"/>
122+
<group value="pagebuilder-bannerPoster"/>
123+
</annotations>
124+
<before>
125+
<!--todo: below is not enabling tinymce3...-->
126+
<magentoCLI command="config:set cms/wysiwyg/editor mage/adminhtml/wysiwyg/tiny_mce/tinymce3Adapter" stepKey="enableTinyMCE4"/>
127+
</before>
128+
<after>
129+
<magentoCLI command="config:set cms/wysiwyg/editor mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter" stepKey="enableTinyMCE4" before="logout"/>
130+
</after>
131+
</test>
132+
<test name="BannerPosterCanInlineEditContentWhenIn25PercentWidthColumn">
133+
<annotations>
134+
<features value="PageBuilder"/>
135+
<stories value="Banner"/>
136+
<title value="Poster - Can Inline Edit Banner Content When In 25 Percent Width Column"/>
137+
<description value="Verify that users are able to inline edit a poster Banner's content from the stage when the banner is in a 25 percent width column"/>
79138
<severity value="AVERAGE"/>
80139
<useCaseId value="MC-521"/>
81140
<testCaseId value="MC-3842"/>
@@ -116,11 +175,11 @@
116175
<!-- Resize Column -->
117176
<comment userInput="Resize Column" stepKey="commentResizeColumn"/>
118177
<executeJS function="return document.querySelector('{{ColumnOnBackend.columnResizeGridLine('1')}}').clientWidth" stepKey="guideWidth"/>
119-
<dragAndDrop selector1="{{ColumnOnBackend.columnX('1')}} {{ColumnOnBackend.columnResizeHandle}}" selector2="{{ColumnOnBackend.columnResizeGridLine('11')}}" x="$guideWidth" stepKey="dragColumn1"/>
178+
<dragAndDrop selector1="{{ColumnOnBackend.columnX('1')}} {{ColumnOnBackend.columnResizeHandle}}" selector2="{{ColumnOnBackend.columnResizeGridLine('9')}}" x="$guideWidth" stepKey="dragColumn1"/>
120179
<executeJS function="return parseInt(window.getComputedStyle(document.querySelector('{{ColumnOnBackend.columnX('1')}}')).width)" stepKey="column1Width1"/>
121180
<executeJS function="return parseInt(window.getComputedStyle(document.querySelector('{{ColumnOnBackend.columnX('2')}}')).width)" stepKey="column2Width1"/>
122181
<executeJS function="return Math.round({$column1Width1}/{$column2Width1})" stepKey="columnSizeRatio"/>
123-
<executeJS function="return {{PageBuilderGridSize.defaultGridSize}}-1" stepKey="expectedColumnSizeRatio"/>
182+
<executeJS function="return {{PageBuilderGridSize.defaultGridSize}}/4" stepKey="expectedColumnSizeRatio"/>
124183
<assertEquals stepKey="assertColumnIsLarge">
125184
<expectedResult type="variable">$expectedColumnSizeRatio</expectedResult>
126185
<actualResult type="variable">$columnSizeRatio</actualResult>

0 commit comments

Comments
 (0)