Skip to content

Commit 234c4c7

Browse files
Merge pull request #417 from magento-obsessive-owls/PB-179
[Owls] PB-179 Product Content Type Inner Contents Should Not Align Based On Alignment Configuration
2 parents 2769362 + 7e84e23 commit 234c4c7

File tree

17 files changed

+345
-101
lines changed

17 files changed

+345
-101
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeProductsActionGroup/AddConditionToProductConditionsActionGroup.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
<argument name="conditionInput" defaultValue="1" type="string"/>
1414
<argument name="index" defaultValue="1" type="string"/>
1515
</arguments>
16-
<comment userInput="addConditionToProductConditions" stepKey="comment"/>
1716
<waitForElementVisible selector="{{ProductsContentTypeForm.conditionsList}}" stepKey="waitForConditionsToLoad"/>
1817
<waitForElementVisible selector="{{ProductsContentTypeForm.conditionsListAddButton(index)}}" stepKey="waitForAddConditionButton"/>
1918
<click selector="{{ProductsContentTypeForm.conditionsListAddButton(index)}}" stepKey="clickAddConditionButton"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminClickInsertWidgetFromInsertWidgetSlideOutActionGroup">
11+
<annotations>
12+
<description>Clicks the Insert Widget button from the Insert Widget slide out to save the widget form.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="baseContent" defaultValue="{{CmsNewPagePageActionsSection.saveAndContinueEdit}}" type="string"/>
16+
</arguments>
17+
<waitForElementVisible selector="{{WidgetSection.InsertWidget}}" stepKey="waitForInsertWidgetButton"/>
18+
<click selector="{{WidgetSection.InsertWidget}}" stepKey="clickInsertWidgetButton"/>
19+
<waitForPageLoad stepKey="waitForSlideOutToClose"/>
20+
<waitForElementNotVisible selector="{{WidgetSection.InsertWidget}}" stepKey="waitForInsertWidgetModalNotVisible"/>
21+
<waitForElementVisible time="10" selector="{{baseContent}}" stepKey="waitForCmsPageSaveButton"/>
22+
</actionGroup>
23+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminClickInsertWidgetButtonInInlineTinyMCEEditorActionGroup">
11+
<annotations>
12+
<description>Clicks the Insert Widget button in the inline tinyMCE editor to open the Insert Widget slide out.</description>
13+
</annotations>
14+
<waitForElementVisible selector="{{TinyMCESection.InsertWidgetIcon}}" stepKey="waitForInsertWidgetIcon"/>
15+
<click selector="{{TinyMCESection.InsertWidgetIcon}}" stepKey="clickInsertWidgetBtn"/>
16+
<waitForPageLoad stepKey="waitForSlideOut"/>
17+
<waitForElementVisible selector="{{EditPanelForm.editFormTitle}}" stepKey="waitForSlideOutTitle"/>
18+
<see userInput="Insert Widget" selector="{{EditPanelForm.editFormTitle}}" stepKey="seeSlideOutTitle"/>
19+
</actionGroup>
20+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminSelectCatalogProductsListWidgetFromInsertWidgetSlideOutActionGroup">
11+
<annotations>
12+
<description>Fills out the Widget Options form for the Catalog Products List widget from the Insert Widget slide out.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="productsCount" type="string" defaultValue="1"/>
16+
<argument name="widgetTemplate" type="string" defaultValue="Products Grid Template"/>
17+
</arguments>
18+
<waitForElementVisible selector="{{WidgetSection.WidgetType}}" stepKey="waitForWidgetType"/>
19+
<selectOption selector="{{WidgetSection.WidgetType}}" userInput="{{TinyMCEWidgets.CatalogProductsListName}}" stepKey="selectCatalogProductsListWidget"/>
20+
<waitForPageLoad stepKey="waitForWidgetOptions"/>
21+
<waitForElementVisible selector="{{WidgetSection.NoOfProductToDisplay}}" stepKey="waitForNumberOfProductsToDisplayInput"/>
22+
<fillField selector="{{WidgetSection.NoOfProductToDisplay}}" userInput="{{productsCount}}" stepKey="fillNumberOfProductsToDisplay"/>
23+
<selectOption selector="{{WidgetSection.WidgetTemplate}}" userInput="{{widgetTemplate}}" stepKey="selectTemplate"/>
24+
</actionGroup>
25+
</actionGroups>

app/code/Magento/PageBuilder/Test/Mftf/Data/TextData.xml

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -38,103 +38,4 @@
3838
<data key="value"/>
3939
<data key="errorMessage">This is a required field.</data>
4040
</entity>
41-
<!-- Variables -->
42-
<entity name="TinyMCEVariableBaseURL" type="pagebuilder_text_variable_property">
43-
<data key="variableName">default:web/unsecure/base_url</data>
44-
<data key="variableNameEncoded">d2ViL3Vuc2VjdXJlL2Jhc2VfdXJs</data>
45-
<data key="editPanelValue">Base URL</data>
46-
<data key="stageValue">{{config path=&quot;web/unsecure/base_url&quot;}}</data>
47-
</entity>
48-
<entity name="TinyMCEVariableStoreName" type="pagebuilder_text_variable_property">
49-
<data key="variableName">default:general/store_information/name</data>
50-
<data key="storefrontValue">The_Magento_Store_Name_Is_A_Long_Magento_Store_Name_With_No_Spaces</data>
51-
</entity>
52-
<entity name="TinyMCEVariableCountry" type="pagebuilder_text_variable_property">
53-
<data key="variableName">default:general/store_information/country_id</data>
54-
<data key="editPanelValue">Country</data>
55-
<data key="stageValue">{{config path=&quot;general/store_information/country_id&quot;}}</data>
56-
</entity>
57-
<entity name="PageBuilderTextArea_VariableBaseURL" type="pagebuilder_text_variable_property">
58-
<data key="variableName">default:web/unsecure/base_url</data>
59-
<data key="editPanelValue">{{config path="web/unsecure/base_url"}}</data>
60-
</entity>
61-
<!-- Widgets -->
62-
<entity name="TinyMCEWidgetCMSPageLink" type="pagebuilder_text_widget_property">
63-
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
64-
<data key="editPanelValue">CMS Page Link</data>
65-
<data key="stageValue">{{widget type=&quot;Magento\Cms\Block\Widget\Page\Link&quot; template=&quot;widget/link/link_block.phtml&quot; page_id=</data>
66-
<data key="stageValueEncoded">e3t3aWRnZXQgdHlwZT0iTWFnZW50b1xDbXNcQmxvY2tcV2lkZ2V0XFBhZ2VcTGluayIgdGVtcGxhdGU9IndpZGdldC9saW5rL2xpbmtfYmxvY2sucGh0bWwiIHBhZ2VfaWQ9</data>
67-
</entity>
68-
<entity name="PageBuilderTextArea_WidgetCMSPageLink" type="pagebuilder_text_widget_property">
69-
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
70-
<data key="editPanelValue">{{widget type=&quot;Magento\\Cms\\Block\\Widget\\Page\\Link&quot; template=&quot;widget/link/link_block.phtml&quot; page_id=</data>
71-
</entity>
72-
<entity name="PageBuilderTextArea_WidgetCMSHomepageLink" type="pagebuilder_text_widget_property">
73-
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
74-
<data key="editPanelValue">{{widget type="Magento\Cms\Block\Widget\Page\Link" template="widget/link/link_block.phtml" page_id="2" type_name="CMS Page Link"}}</data>
75-
<data key="identifier">home</data>
76-
</entity>
77-
<entity name="PageBuilderVariableWidgetText" type="pagebuilder_text_property">
78-
<data key="value">test string</data>
79-
<data key="expectedString1">test str</data>
80-
<data key="expectedString2">ing</data>
81-
</entity>
82-
<!-- TinyMCE Formats -->
83-
<entity name="TinyMCEFormatParagraph" type="pagebuilder_tinymce_format">
84-
<data key="label">Paragraph</data>
85-
<data key="tagName">p</data>
86-
</entity>
87-
<entity name="TinyMCEFormatHeading1" type="pagebuilder_tinymce_format">
88-
<data key="label">Heading 1</data>
89-
<data key="tagName">h1</data>
90-
</entity>
91-
<entity name="TinyMCEFormatHeading2" type="pagebuilder_tinymce_format">
92-
<data key="label">Heading 2</data>
93-
<data key="tagName">h2</data>
94-
</entity>
95-
<entity name="TinyMCEFormatHeading3" type="pagebuilder_tinymce_format">
96-
<data key="label">Heading 3</data>
97-
<data key="tagName">h3</data>
98-
</entity>
99-
<entity name="TinyMCEFormatHeading4" type="pagebuilder_tinymce_format">
100-
<data key="label">Heading 4</data>
101-
<data key="tagName">h4</data>
102-
</entity>
103-
<entity name="TinyMCEFormatHeading5" type="pagebuilder_tinymce_format">
104-
<data key="label">Heading 5</data>
105-
<data key="tagName">h5</data>
106-
</entity>
107-
<entity name="TinyMCEFormatHeading6" type="pagebuilder_tinymce_format">
108-
<data key="label">Heading 6</data>
109-
<data key="tagName">h6</data>
110-
</entity>
111-
<entity name="TinyMCEFormatImportant" type="pagebuilder_tinymce_format">
112-
<data key="label">Important</data>
113-
<data key="tagName">div</data>
114-
</entity>
115-
<entity name="TinyMCEFormatPreformatted" type="pagebuilder_tinymce_format">
116-
<data key="label">Preformatted</data>
117-
<data key="tagName">div</data>
118-
</entity>
119-
<!-- TinyMCE Selections -->
120-
<entity name="TinyMCEPartialHeadingSelection" type="pagebuilder_text_selection">
121-
<data key="startX">15</data>
122-
<data key="endX">115</data>
123-
<data key="startY">15</data>
124-
<data key="endY">15</data>
125-
<data key="selection">his is a h</data>
126-
</entity>
127-
<entity name="TinyMCEPartialTextSelection" type="pagebuilder_text_selection">
128-
<data key="startX">18</data>
129-
<data key="endX">55</data>
130-
<data key="startY">15</data>
131-
<data key="endY">15</data>
132-
<data key="selection">t strin</data>
133-
</entity>
134-
<entity name="TinyMCEHeadingVariableTextSelection" type="pagebuilder_multiple_text_selection">
135-
<data key="selection">his is a heading
136-
Base URL
137-
138-
test strin</data>
139-
</entity>
14041
</entities>
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
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+
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
11+
<!-- Variables -->
12+
<entity name="TinyMCEVariableBaseURL" type="pagebuilder_text_variable_property">
13+
<data key="variableName">default:web/unsecure/base_url</data>
14+
<data key="variableNameEncoded">d2ViL3Vuc2VjdXJlL2Jhc2VfdXJs</data>
15+
<data key="editPanelValue">Base URL</data>
16+
<data key="stageValue">{{config path=&quot;web/unsecure/base_url&quot;}}</data>
17+
</entity>
18+
<entity name="TinyMCEVariableStoreName" type="pagebuilder_text_variable_property">
19+
<data key="variableName">default:general/store_information/name</data>
20+
<data key="storefrontValue">The_Magento_Store_Name_Is_A_Long_Magento_Store_Name_With_No_Spaces</data>
21+
</entity>
22+
<entity name="TinyMCEVariableCountry" type="pagebuilder_text_variable_property">
23+
<data key="variableName">default:general/store_information/country_id</data>
24+
<data key="editPanelValue">Country</data>
25+
<data key="stageValue">{{config path=&quot;general/store_information/country_id&quot;}}</data>
26+
</entity>
27+
<entity name="PageBuilderTextArea_VariableBaseURL" type="pagebuilder_text_variable_property">
28+
<data key="variableName">default:web/unsecure/base_url</data>
29+
<data key="editPanelValue">{{config path="web/unsecure/base_url"}}</data>
30+
</entity>
31+
<!-- Widgets -->
32+
<entity name="TinyMCEWidgets" type="pagebuilder_widget_property">
33+
<data key="CatalogProductsListType">Magento\CatalogWidget\Block\Product\ProductsList</data>
34+
<data key="CatalogProductsListName">Catalog Products List</data>
35+
</entity>
36+
<entity name="TinyMCEWidgetCMSPageLink" type="pagebuilder_text_widget_property">
37+
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
38+
<data key="editPanelValue">CMS Page Link</data>
39+
<data key="stageValue">{{widget type=&quot;Magento\Cms\Block\Widget\Page\Link&quot; template=&quot;widget/link/link_block.phtml&quot; page_id=</data>
40+
<data key="stageValueEncoded">e3t3aWRnZXQgdHlwZT0iTWFnZW50b1xDbXNcQmxvY2tcV2lkZ2V0XFBhZ2VcTGluayIgdGVtcGxhdGU9IndpZGdldC9saW5rL2xpbmtfYmxvY2sucGh0bWwiIHBhZ2VfaWQ9</data>
41+
</entity>
42+
<entity name="PageBuilderTextArea_WidgetCMSPageLink" type="pagebuilder_text_widget_property">
43+
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
44+
<data key="editPanelValue">{{widget type=&quot;Magento\\Cms\\Block\\Widget\\Page\\Link&quot; template=&quot;widget/link/link_block.phtml&quot; page_id=</data>
45+
</entity>
46+
<entity name="PageBuilderTextArea_WidgetCMSHomepageLink" type="pagebuilder_text_widget_property">
47+
<data key="widgetType">Magento\Cms\Block\Widget\Page\Link</data>
48+
<data key="editPanelValue">{{widget type="Magento\Cms\Block\Widget\Page\Link" template="widget/link/link_block.phtml" page_id="2" type_name="CMS Page Link"}}</data>
49+
<data key="identifier">home</data>
50+
</entity>
51+
<entity name="PageBuilderVariableWidgetText" type="pagebuilder_text_property">
52+
<data key="value">test string</data>
53+
<data key="expectedString1">test str</data>
54+
<data key="expectedString2">ing</data>
55+
</entity>
56+
<!-- TinyMCE Formats -->
57+
<entity name="TinyMCEFormatParagraph" type="pagebuilder_tinymce_format">
58+
<data key="label">Paragraph</data>
59+
<data key="tagName">p</data>
60+
</entity>
61+
<entity name="TinyMCEFormatHeading1" type="pagebuilder_tinymce_format">
62+
<data key="label">Heading 1</data>
63+
<data key="tagName">h1</data>
64+
</entity>
65+
<entity name="TinyMCEFormatHeading2" type="pagebuilder_tinymce_format">
66+
<data key="label">Heading 2</data>
67+
<data key="tagName">h2</data>
68+
</entity>
69+
<entity name="TinyMCEFormatHeading3" type="pagebuilder_tinymce_format">
70+
<data key="label">Heading 3</data>
71+
<data key="tagName">h3</data>
72+
</entity>
73+
<entity name="TinyMCEFormatHeading4" type="pagebuilder_tinymce_format">
74+
<data key="label">Heading 4</data>
75+
<data key="tagName">h4</data>
76+
</entity>
77+
<entity name="TinyMCEFormatHeading5" type="pagebuilder_tinymce_format">
78+
<data key="label">Heading 5</data>
79+
<data key="tagName">h5</data>
80+
</entity>
81+
<entity name="TinyMCEFormatHeading6" type="pagebuilder_tinymce_format">
82+
<data key="label">Heading 6</data>
83+
<data key="tagName">h6</data>
84+
</entity>
85+
<entity name="TinyMCEFormatImportant" type="pagebuilder_tinymce_format">
86+
<data key="label">Important</data>
87+
<data key="tagName">div</data>
88+
</entity>
89+
<entity name="TinyMCEFormatPreformatted" type="pagebuilder_tinymce_format">
90+
<data key="label">Preformatted</data>
91+
<data key="tagName">div</data>
92+
</entity>
93+
<!-- TinyMCE Selections -->
94+
<entity name="TinyMCEPartialHeadingSelection" type="pagebuilder_text_selection">
95+
<data key="startX">15</data>
96+
<data key="endX">115</data>
97+
<data key="startY">15</data>
98+
<data key="endY">15</data>
99+
<data key="selection">his is a h</data>
100+
</entity>
101+
<entity name="TinyMCEPartialTextSelection" type="pagebuilder_text_selection">
102+
<data key="startX">18</data>
103+
<data key="endX">55</data>
104+
<data key="startY">15</data>
105+
<data key="endY">15</data>
106+
<data key="selection">t strin</data>
107+
</entity>
108+
<entity name="TinyMCEHeadingVariableTextSelection" type="pagebuilder_multiple_text_selection">
109+
<data key="selection">his is a heading
110+
Base URL
111+
112+
test strin</data>
113+
</entity>
114+
</entities>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderEditFormSection/EditPanelFormSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="EditPanelForm">
1111
<element name="editForm" type="text" selector="//div[contains(@class, &quot;pagebuilder_modal_form_pagebuilder_modal_form_modal&quot;)]"/>
12-
<element name="editFormTitle" type="text" selector=".modal-title[data-role='title']"/>
12+
<element name="editFormTitle" type="text" selector="aside._show .modal-title[data-role='title']"/>
1313
<element name="editFormClose" type="button" selector=".modal-header .page-main-actions [data-form-role='close']" timeout="30"/>
1414
<element name="editFormReset" type="button" selector=".modal-header .page-main-actions [data-form-role='reset']" timeout="30"/>
1515
<element name="editFormSave" type="button" selector=".modal-header .page-main-actions [data-form-role='save']" timeout="30"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="CatalogProductsWidget">
11+
<element name="productWidget" type="text" parameterized="true" timeout="10" selector="((//div[@data-content-type='{{parentContentType}}'][{{indexOfParent}}])//div[contains(@class,'block-products-list')][{{indexOfProductGroup}}])//li[contains(@class,'product-item')][{{indexOfProductItem}}]"/>
12+
<element name="productWidgetJS" type="text" parameterized="true" timeout="10" selector="document.querySelectorAll('div[data-content-type={{parentContentType}}]')[{{indexOfParent}}-1].querySelectorAll('.block.widget')[{{indexOfProductGroup}} - 1].querySelectorAll('li.product-item')[{{indexOfProductItem}} - 1]"/>
13+
</section>
14+
</sections>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderProductsSection/ProductsCarouselOnStageSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<element name="notHidden" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-products') and not(contains(@class,'placeholder'))])[{{indexOfProductGroup}}]//parent::*[contains(@class, 'pagebuilder-content-type-wrapper') and not(contains(@class, 'pagebuilder-content-type-hidden'))][1]"/>
1515
<element name="emptyProductsPlaceholder" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-products')]//div[contains(@data-appearance,'carousel')])[{{indexOfProductGroup}}]//*[contains(@class,'pagebuilder-products-placeholder')]"/>
1616
<element name="product" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-products')]//div[contains(@data-appearance,'carousel')])[{{indexOfProductGroup}}]//ol//li[contains(@class,'product-item')]"/>
17+
<element name="productJS" type="text" parameterized="true" selector="(document.querySelectorAll('div.pagebuilder-products div[data-appearance=carousel]')[{{indexOfProductGroup}} - 1]).querySelector('ol li.product-item')"/>
1718
<element name="productsInCarouselNotClonedBySlick" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-products')]//div[contains(@data-appearance,'carousel')])[{{indexOfProductGroup}}]//ol//div[contains(@class,'slick-slide') and not(contains(@class,'slick-cloned'))]//li[contains(@class,'product-item')]"/>
1819
<element name="productInCarouselBySlickSlideIndex" type="text" parameterized="true" selector="(//div[contains(@class,'pagebuilder-products')]//div[contains(@data-appearance,'carousel')])[{{indexOfProductGroup}}]//ol//*[@data-slick-index='{{indexOfSlickSlide}}']//li[contains(@class,'product-item')]"/>
1920
<element name="productByIndex" type="text" parameterized="true" selector="((//div[contains(@class,'pagebuilder-products')]//div[contains(@data-appearance,'carousel')])[{{indexOfProductGroup}}]//ol//li[contains(@class,'product-item')])[{{indexOfProductItem}}]"/>

0 commit comments

Comments
 (0)