Skip to content

Commit 9ec832c

Browse files
committed
#429: User can add content to the Stage directly
- fix PageBuilderCMSPageAddContentDirectlyToStageTest
1 parent 5dc25c3 commit 9ec832c

File tree

6 files changed

+67
-28
lines changed

6 files changed

+67
-28
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderBlockSection/BlockOnStageSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="BlockOnStage">
1111
<element name="html" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@data-bind,'html: data.main.html')])[{{arg2}}]//div[contains(@class,'placeholder-html-code')]" parameterized="true"/>
12+
<element name="allBlocks" type="text" selector="[data-content-type='block']"/>
1213
<element name="status" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//span[contains(@class,'placeholder') and text()='{{arg}}'])" parameterized="true"/>
1314
<element name="deleted" type="text" selector="((//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//span[contains(@class,'placeholder') and contains(text(),'Block with ID: {{arg}} doesn')])" parameterized="true"/>
1415
<element name="title" type="text" selector="(//div[contains(@class,'pagebuilder-block')])[{{arg1}}]//div[contains(@class,'pagebuilder-options-wrapper')]//div[contains(@class,'option-title') and text()='{{arg}}']" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderBlockSection/BlockOnStorefrontSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<element name="ancestor" type="text" selector="[ancestor::div[@data-content-type=&quot;block&quot;]]"/>
1212
<element name="html" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]//a[contains(@class,'pagebuilder-button-primary')]" parameterized="true"/>
1313
<element name="base" type="text" selector="(//div[@data-content-type='block'])[{{arg1}}]" parameterized="true"/>
14+
<element name="allBlocks" type="block" selector="[data-content-type='block']"/>
1415
<element name="baseCSS" type="text" selector="[data-content-type=block]"/>
1516
<element name="hidden" type="text" selector="(//div[@data-content-type='block'])[{{arg1}}][contains(@style, 'display: none')]" parameterized="true"/>
1617
<element name="notHidden" type="text" selector="(//div[@data-content-type='block'])[{{arg1}}][not(contains(@style, 'display: none'))]" parameterized="true"/>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="HtmlOnStage">
11+
<element name="allHtml" type="text" selector="[data-content-type=html]"/>
1112
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-html')]//div[contains(@data-bind,'text: data.main.html') or contains(@class,'placeholder-html-empty')])[{{arg1}}]" parameterized="true"/>
1213
<element name="baseCSS" type="text" selector="[data-content-type=html][data-element=main]"/>
1314
<element name="hidden" type="text" selector="(//*[@data-content-type='html'])[{{arg1}}]/ancestor::*[contains(@class, 'pagebuilder-content-type-wrapper') and contains(@class, 'pagebuilder-content-type-hidden')]" parameterized="true"/>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="HtmlOnStorefront">
1111
<element name="base" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}]" parameterized="true"/>
12+
<element name="allHtml" type="block" selector="[data-content-type='html']"/>
1213
<element name="baseCSS" type="text" selector="[data-content-type=html]"/>
1314
<element name="hidden" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}][contains(@style, 'display: none')]" parameterized="true"/>
1415
<element name="notHidden" type="text" selector="(//div[@data-content-type='html'])[{{arg1}}][not(contains(@style, 'display: none'))]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderTabsSection/TabOnStorefrontSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="TabOnStorefront">
1111
<element name="all" type="button" selector="[data-content-type=\'tab-item\']"/>
12+
<element name="allTabs" type="button" selector="(//div[@data-content-type=&quot;tab-item&quot;])"/>
1213
<element name="base" type="button" selector="(//div[@data-content-type=&quot;tab-item&quot;])[{{arg1}}]" parameterized="true"/>
1314
<element name="baseCSS" type="button" selector="[data-content-type=tab-item]"/>
1415
<element name="baseJS" type="text" selector="document.querySelectorAll('[data-content-type=tab-item]')[{{arg1}} - 1]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest/PageBuilderCMSPageAddContentDirectlyToStageTest.xml

Lines changed: 62 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,114 +30,148 @@
3030
<deleteData createDataKey="createCMSPage" stepKey="deleteCMSPage"/>
3131
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
3232
</after>
33+
<!-- Verify Stage is Empty By Default -->
3334
<actionGroup ref="verifyEmptyStage" stepKey="verifyStageEmpty"/>
3435
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandMenuSectionElements">
3536
<argument name="contentType" value="PageBuilderRowContentType"/>
3637
</actionGroup>
38+
<!-- Verify Can Add Column to Stage Directly -->
3739
<actionGroup ref="dragContentTypeToContainer" stepKey="dragRowIntoContainer">
3840
<argument name="contentType" value="PageBuilderRowContentType"/>
3941
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
4042
</actionGroup>
43+
<!-- Verify Can Add Column to Stage Directly -->
4144
<actionGroup ref="dragContentTypeToContainer" stepKey="dragColumnIntoContainer">
4245
<argument name="contentType" value="PageBuilderColumnContentType"/>
4346
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
4447
</actionGroup>
48+
<!-- Verify Can Add Tab to Stage Directly -->
4549
<actionGroup ref="dragContentTypeToContainer" stepKey="dragTabsIntoContainer">
4650
<argument name="contentType" value="PageBuilderTabsContentType"/>
4751
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
4852
</actionGroup>
53+
<!-- Verify Cannot Add Text to Stage Directly -->
4954
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSectionText">
5055
<argument name="contentType" value="PageBuilderTextContentType"/>
5156
</actionGroup>
5257
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragTextIntoStage">
5358
<argument name="contentType" value="PageBuilderTextContentType"/>
5459
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
5560
</actionGroup>
61+
<!-- Verify Cannot Add Heading to Stage Directly -->
5662
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragHeadingIntoStage">
5763
<argument name="contentType" value="PageBuilderHeadingContentType"/>
5864
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
5965
</actionGroup>
66+
<!-- Verify Cannot Add Buttons to Stage Directly -->
6067
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragButtonsIntoStage">
6168
<argument name="contentType" value="PageBuilderButtonsContentType"/>
6269
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
6370
</actionGroup>
71+
<!-- Verify Cannot Add Divider to Stage Directly -->
6472
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragDividerIntoStage">
6573
<argument name="contentType" value="PageBuilderDividerContentType"/>
6674
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
6775
</actionGroup>
76+
<!-- Verify Cannot HTML Code to Stage Directly -->
6877
<actionGroup ref="dragContentTypeToContainer" stepKey="dragHTMLIntoContainer">
6978
<argument name="contentType" value="PageBuilderHtmlContentType"/>
7079
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
7180
</actionGroup>
81+
<!-- Verify Cannot Add Video to Stage Directly -->
7282
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSectionMedia">
7383
<argument name="contentType" value="PageBuilderVideoContentType"/>
7484
</actionGroup>
7585
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragVideoIntoStage">
7686
<argument name="contentType" value="PageBuilderVideoContentType"/>
7787
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
7888
</actionGroup>
89+
<!-- Verify Cannot Add Image to Stage Directly -->
7990
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragImageIntoStage">
8091
<argument name="contentType" value="PageBuilderImageContentType"/>
8192
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
8293
</actionGroup>
94+
<!-- Verify Cannot Add Map to Stage Directly -->
8395
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragMapIntoStage">
8496
<argument name="contentType" value="PageBuilderMapContentType"/>
8597
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
8698
</actionGroup>
99+
<!-- Verify Cannot Add Slider to Stage Directly -->
87100
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragSliderIntoStage">
88101
<argument name="contentType" value="PageBuilderSliderContentType"/>
89102
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
90103
</actionGroup>
104+
<!-- Verify Cannot Add Banner to Stage Directly -->
91105
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragBannerIntoStage">
92106
<argument name="contentType" value="PageBuilderBannerContentType"/>
93107
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
94108
</actionGroup>
109+
<!-- Verify Can Add Block to Stage Directly -->
95110
<actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandMenuSectionContent">
96111
<argument name="contentType" value="PageBuilderBlockContentType"/>
97112
</actionGroup>
98113
<actionGroup ref="dragContentTypeToContainer" stepKey="dragBlockIntoContainer">
99114
<argument name="contentType" value="PageBuilderBlockContentType"/>
100115
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
101116
</actionGroup>
117+
<!-- Verify Cannot Add Products to Stage Directly -->
102118
<actionGroup ref="cannotDragContentTypeToTarget" stepKey="dragProductsIntoStage">
103119
<argument name="contentType" value="PageBuilderProductsContentType"/>
104120
<argument name="containerTargetType" value="PageBuilderRootContainerContentType"/>
105121
</actionGroup>
106122
<actionGroup ref="exitPageBuilderFullScreen" stepKey="exitPageBuilderFullScreen"/>
123+
<!-- Save Page and Verify Expected Content Types on Stage -->
107124
<actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/>
108125
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
109126
<seeNumberOfElements selector="{{RowOnStage.allRows}}" userInput="1" stepKey="seeOneRowStageAfterSave"/>
110-
<seeElement selector="{{ColumnOnBackend.base('1')}}" stepKey="seeColumn1"/>
111-
<seeElement selector="{{TabOnStage.all}}" stepKey="seeTabs"/>
112-
<seeElement selector="{{HtmlOnStage.base('1')}}" stepKey="seeHtml"/>
113-
<seeElement selector="{{BlockOnStage.base('1')}}" stepKey="seeBlock"/>
114-
<dontSeeElement selector="{{TextOnStage.base('1')}}" stepKey="dontSeeTextAfterSave"/>
115-
<dontSeeElement selector="{{HeadingOnStage.base('1')}}" stepKey="dontSeeHeadingAfterSave"/>
116-
<dontSeeElement selector="{{ButtonGroupOnStage.base('1')}}" stepKey="dontSeeButtonGroupAfterSave"/>
117-
<dontSeeElement selector="{{DividerOnStage.allDividers}}" stepKey="dontSeeDividerAfterSave"/>
118-
<dontSeeElement selector="{{VideoOnStage.base('1')}}" stepKey="dontSeeVideoAfterSave"/>
119-
<dontSeeElement selector="{{ImageOnStage.base('1')}}" stepKey="dontSeeImageAfterSave"/>
120-
<dontSeeElement selector="{{MapOnStage.base('1')}}" stepKey="dontSeeMapAfterSave"/>
121-
<dontSeeElement selector="{{SliderOnStage.all}}" stepKey="dontSeeSliderAfterSave"/>
122-
<dontSeeElement selector="{{BannerOnBackend.base('1')}}" stepKey="dontSeeBannerAfterSave"/>
123-
<dontSeeElement selector="{{ProductsOnStage.base('1')}}" stepKey="dontSeeProductsAfterSave"/>
127+
<seeNumberOfElements selector="{{ColumnOnBackend.allColumns}}" userInput="2" stepKey="seeColumnAfterSave"/>
128+
<seeNumberOfElements selector="{{TabOnStage.all}}" userInput="1" stepKey="seeTabsAfterSave"/>
129+
<executeJS function="return document.querySelectorAll(&quot;{{HtmlOnStage.allHtml}}&quot;).length" stepKey="numberOfHTMLContentTypesAfterSave"/>
130+
<assertEquals stepKey="assertHTMLStage">
131+
<expectedResult type="int">1</expectedResult>
132+
<actualResult type="variable">numberOfHTMLContentTypesAfterSave</actualResult>
133+
</assertEquals>
134+
<executeJS function="return document.querySelectorAll(&quot;{{BlockOnStage.allBlocks}}&quot;).length" stepKey="numberOfBlockContentTypesStageAfterSave"/>
135+
<assertEquals stepKey="assertBlockStage">
136+
<expectedResult type="int">1</expectedResult>
137+
<actualResult type="variable">numberOfBlockContentTypesStageAfterSave</actualResult>
138+
</assertEquals>
139+
<dontSeeElementInDOM selector="{{TextOnStage.base('1')}}" stepKey="dontSeeTextAfterSave"/>
140+
<dontSeeElementInDOM selector="{{HeadingOnStage.base('1')}}" stepKey="dontSeeHeadingAfterSave"/>
141+
<dontSeeElementInDOM selector="{{ButtonGroupOnStage.base('1')}}" stepKey="dontSeeButtonGroupAfterSave"/>
142+
<dontSeeElementInDOM selector="{{DividerOnStage.allDividers}}" stepKey="dontSeeDividerAfterSave"/>
143+
<dontSeeElementInDOM selector="{{VideoOnStage.base('1')}}" stepKey="dontSeeVideoAfterSave"/>
144+
<dontSeeElementInDOM selector="{{ImageOnStage.base('1')}}" stepKey="dontSeeImageAfterSave"/>
145+
<dontSeeElementInDOM selector="{{MapOnStage.base('1')}}" stepKey="dontSeeMapAfterSave"/>
146+
<dontSeeElementInDOM selector="{{SliderOnStage.all}}" stepKey="dontSeeSliderAfterSave"/>
147+
<dontSeeElementInDOM selector="{{BannerOnBackend.base('1')}}" stepKey="dontSeeBannerAfterSave"/>
148+
<dontSeeElementInDOM selector="{{ProductsOnStage.base('1')}}" stepKey="dontSeeProductsAfterSave"/>
149+
<!-- Verify Expected Content Types on Storefront -->
124150
<actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToCMSPageStorefront4">
125151
<argument name="page" value="$$createCMSPage.identifier$$"/>
126152
</actionGroup>
127153
<seeNumberOfElements selector="{{RowOnStorefront.allRows}}" userInput="1" stepKey="seeOneRowStorefront"/>
128-
<seeElement selector="{{ColumnOnFrontend.base('1')}}" stepKey="seeColumnStorefront"/>
129-
<seeElement selector="{{TabsOnFrontend.base('1')}}" stepKey="seeTabsStorefront"/>
130-
<seeElement selector="{{HtmlOnStorefront.base('1')}}" stepKey="seeHtmlStorefront"/>
131-
<seeElement selector="{{BlockOnStorefront.base('1')}}" stepKey="seeBlockStorefront"/>
132-
<dontSeeElement selector="{{TextOnStorefront.base('1')}}" stepKey="dontSeeTextStorefront"/>
133-
<dontSeeElement selector="{{HeadingOnStorefront.base('1')}}" stepKey="dontSeeHeadingStorefront"/>
134-
<dontSeeElement selector="{{ButtonGroupOnStorefront.base('1')}}" stepKey="dontSeeButtonGroupStorefront"/>
135-
<dontSeeElement selector="{{DividerOnStorefront.base('1')}}" stepKey="dontSeeDividerStorefront"/>
136-
<dontSeeElement selector="{{VideoOnStorefront.base('1')}}" stepKey="dontSeeVideoStorefront"/>
137-
<dontSeeElement selector="{{ImageOnStorefront.imageDisplay}}" stepKey="notSeeImageOnStorefront"/>
138-
<dontSeeElement selector="{{MapOnStorefront.base('1')}}" stepKey="dontSeeMapStorefront"/>
139-
<dontSeeElement selector="{{SlideOnFrontend.base('1')}}" stepKey="dontSeeSliderOnFrontend"/>
140-
<dontSeeElement selector="{{BannerOnFrontend.base('1')}}" stepKey="dontSeeBannerStorefront"/>
141-
<seeNumberOfElements selector="{{ProductsOnStorefront.product('1')}}" userInput="0" stepKey="seeZeroProducts"/>
154+
<seeNumberOfElements selector="{{ColumnOnFrontend.allColumns}}" userInput="2" stepKey="seeTwoColumnsStorefront"/>
155+
<seeNumberOfElements selector="{{TabOnStorefront.allTabs}}" userInput="1" stepKey="seeOneTabStorefront"/>
156+
<executeJS function="return document.querySelectorAll(&quot;{{HtmlOnStorefront.allHtml}}&quot;).length" stepKey="numberOfHTMLContentTypesStorefront"/>
157+
<assertEquals stepKey="assertHTMLStorefront">
158+
<expectedResult type="int">1</expectedResult>
159+
<actualResult type="variable">numberOfHTMLContentTypesStorefront</actualResult>
160+
</assertEquals>
161+
<executeJS function="return document.querySelectorAll(&quot;{{BlockOnStorefront.allBlocks}}&quot;).length" stepKey="numberOfBlockContentTypesStorefront"/>
162+
<assertEquals stepKey="assertBlockStorefront">
163+
<expectedResult type="int">1</expectedResult>
164+
<actualResult type="variable">numberOfBlockContentTypesStorefront</actualResult>
165+
</assertEquals>
166+
<dontSeeElementInDOM selector="{{TextOnStorefront.base('1')}}" stepKey="dontSeeTextStorefront"/>
167+
<dontSeeElementInDOM selector="{{HeadingOnStorefront.base('1')}}" stepKey="dontSeeHeadingStorefront"/>
168+
<dontSeeElementInDOM selector="{{ButtonGroupOnStorefront.base('1')}}" stepKey="dontSeeButtonGroupStorefront"/>
169+
<dontSeeElementInDOM selector="{{DividerOnStorefront.base('1')}}" stepKey="dontSeeDividerStorefront"/>
170+
<dontSeeElementInDOM selector="{{VideoOnStorefront.base('1')}}" stepKey="dontSeeVideoStorefront"/>
171+
<dontSeeElementInDOM selector="{{ImageOnStorefront.imageDisplay}}" stepKey="notSeeImageOnStorefront"/>
172+
<dontSeeElementInDOM selector="{{MapOnStorefront.base('1')}}" stepKey="dontSeeMapStorefront"/>
173+
<dontSeeElementInDOM selector="{{SlideOnFrontend.base('1')}}" stepKey="dontSeeSliderOnFrontend"/>
174+
<dontSeeElementInDOM selector="{{BannerOnFrontend.base('1')}}" stepKey="dontSeeBannerStorefront"/>
175+
<dontSeeElementInDOM selector="{{ProductsOnStorefront.base('1')}}" stepKey="dontSeeProductsStorefront"/>
142176
</test>
143177
</tests>

0 commit comments

Comments
 (0)