Skip to content

Commit 85b4245

Browse files
MAGETWO-91974: [Testing] Create/Update Automated Tests
- tests for default values, stacked appearance and add button after selecting appearance
1 parent 49c34f0 commit 85b4245

File tree

5 files changed

+351
-0
lines changed

5 files changed

+351
-0
lines changed

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageBuilder/ActionGroup/ActionGroup.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,13 @@
447447
<seeElement selector='//li[@name="{{property.value}}"]' stepKey="seeVisualSelect"/>
448448
<click selector='//div[@data-index="{{property.section}}" and contains(@class,"_show")]//li[@name="{{property.value}}"]' stepKey="chooseVisualSelectOption"/>
449449
</actionGroup>
450+
<actionGroup name="validateVisualSelectOptionIsSelected">
451+
<arguments>
452+
<argument name="property" defaultValue=""/>
453+
</arguments>
454+
<waitForElement time="2" selector="{{PageBuilderActionsSection.panelFieldControl(property.section, property.fieldName)}}" stepKey="waitForElementVisible" />
455+
<seeElement selector='//li[@name="{{property.value}}" and contains(@class, "active")]' stepKey="seeVisualSelectActive"/>
456+
</actionGroup>
450457
<actionGroup name="validateAlignmentFieldIsNotDisabled">
451458
<arguments>
452459
<argument name="property" defaultValue=""/>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageBuilder/ActionGroup/ButtonActionGroup.xml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,44 @@
6969
<waitForPageLoad stepKey="waitForPageLoad2"/>
7070
<waitForElementVisible selector="{{ButtonItemOnStage.base(buttonIndexToMove)}}" stepKey="waitForButton2"/>
7171
</actionGroup>
72+
<actionGroup name="validateButtonGroupInlineAppearance">
73+
<arguments>
74+
<argument name="buttonGroupPage"/>
75+
<argument name="buttonItemPage"/>
76+
<argument name="index" defaultValue="1" type="string"/>
77+
</arguments>
78+
<waitForElementVisible selector="{{buttonGroupPage.base(index)}}" stepKey="waitForButtonGroup"/>
79+
<seeElementInDOM selector="{{buttonGroupPage.appearance(index, PageBuilderAppearancePropertyInline.value)}}" stepKey="seeButtonAppearance"/>
80+
<waitForElementVisible selector="{{buttonItemPage.base('1')}}" stepKey="waitForButton1"/>
81+
<executeJS function="{{buttonItemPage.xCoordinate('0')}}" stepKey="xCoordinate1"/>
82+
<executeJS function="{{buttonItemPage.yCoordinate('0')}}" stepKey="yCoordinate1"/>
83+
<waitForElementVisible selector="{{buttonItemPage.base('2')}}" stepKey="waitForButton2"/>
84+
<executeJS function="{{buttonItemPage.xCoordinate('1')}}" stepKey="xCoordinate2"/>
85+
<executeJS function="{{buttonItemPage.yCoordinate('1')}}" stepKey="yCoordinate2"/>
86+
<assertGreaterThan expected="$xCoordinate1" actual="$xCoordinate2" stepKey="checkXCoordinates"/>
87+
<assertEquals stepKey="checkYCoordinates">
88+
<expectedResult type="variable">yCoordinate1</expectedResult>
89+
<actualResult type="variable">yCoordinate2</actualResult>
90+
</assertEquals>
91+
</actionGroup>
92+
<actionGroup name="validateButtonGroupStackedAppearance">
93+
<arguments>
94+
<argument name="buttonGroupPage"/>
95+
<argument name="buttonItemPage"/>
96+
<argument name="index" defaultValue="1" type="string"/>
97+
</arguments>
98+
<waitForElementVisible selector="{{buttonGroupPage.base(index)}}" stepKey="waitForButtonGroup"/>
99+
<seeElementInDOM selector="{{buttonGroupPage.appearance(index, PageBuilderAppearancePropertyStacked.value)}}" stepKey="seeButtonAppearance"/>
100+
<waitForElementVisible selector="{{buttonItemPage.base('1')}}" stepKey="waitForButton1"/>
101+
<executeJS function="{{buttonItemPage.xCoordinate('0')}}" stepKey="xCoordinate1"/>
102+
<executeJS function="{{buttonItemPage.yCoordinate('0')}}" stepKey="yCoordinate1"/>
103+
<waitForElementVisible selector="{{buttonItemPage.base('2')}}" stepKey="waitForButton2"/>
104+
<executeJS function="{{buttonItemPage.xCoordinate('1')}}" stepKey="xCoordinate2"/>
105+
<executeJS function="{{buttonItemPage.yCoordinate('1')}}" stepKey="yCoordinate2"/>
106+
<assertEquals stepKey="checkXCoordinates">
107+
<expectedResult type="variable">xCoordinate1</expectedResult>
108+
<actualResult type="variable">xCoordinate2</actualResult>
109+
</assertEquals>
110+
<assertGreaterThan expected="$yCoordinate1" actual="$yCoordinate2" stepKey="checkYCoordinates"/>
111+
</actionGroup>
72112
</actionGroups>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageBuilder/Data/ButtonsData.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,17 @@
88

99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd">
11+
<!-- Button Group Appearance -->
12+
<entity name="PageBuilderAppearancePropertyInline" type="pagebuilder_appearance_property">
13+
<data key="name">Appearance</data>
14+
<data key="section">appearance_fieldset</data>
15+
<data key="fieldName">appearance</data>
16+
<data key="value">inline</data>
17+
</entity>
18+
<entity name="PageBuilderAppearancePropertyStacked" type="pagebuilder_appearance_property">
19+
<data key="name">Appearance</data>
20+
<data key="section">appearance_fieldset</data>
21+
<data key="fieldName">appearance</data>
22+
<data key="value">stacked</data>
23+
</entity>
1124
</entities>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/PageBuilder/Section/PageBuilderButtonsSection.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
1111
<section name="ButtonGroupOnStage">
1212
<element name="base" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]" parameterized="true"/>
13+
<element name="appearance" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]//div[@data-appearance='{{arg2}}']" parameterized="true"/>
1314
<element name="addNewButtonItemOption" type="button" selector="(//div[contains(@class,'pagebuilder-buttons')])[{{arg1}}]//a[contains(@title,'Add Button')]" parameterized="true"/>
1415
<element name="oldAddNewButtonItem" type="button" selector="//button[contains(text(),'Add Button')]"/>
1516
<!-- Advanced Configuration -->
@@ -28,6 +29,7 @@
2829
</section>
2930
<section name="ButtonGroupOnStorefront">
3031
<element name="base" type="button" selector="(//div[@data-role='buttons'])[{{arg1}}]" parameterized="true"/>
32+
<element name="appearance" type="button" selector="(//div[@data-role='buttons'])[{{arg1}}][@data-appearance='{{arg2}}']" parameterized="true"/>
3133
<!-- Advanced Configuration -->
3234
<element name="alignment" type="text" selector="(//div[@data-role='buttons'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
3335
<element name="noAlignment" type="text" selector="(//div[@data-role='buttons'])[{{arg1}}][not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -46,6 +48,8 @@
4648
<element name="base" type="button" selector="(//div[contains(@class,'pagebuilder-button-item')])[{{arg1}}]//a[contains(@class,'pagebuilder-button')]" parameterized="true"/>
4749
<element name="emptyButtonItemElement" type="button" selector="(//div[contains(@class,'pagebuilder-button-item')])[{{arg1}}]//a[contains(@class,'pagebuilder-button')]//span[contains(@class,'placeholder-text') and not(text())]" parameterized="true"/>
4850
<element name="editableButtonItemElement" type="button" selector="(//div[contains(@class,'pagebuilder-button-item')])[{{arg1}}]//a[contains(@class,'pagebuilder-button')]//span[contains(@contenteditable,'true')]" parameterized="true"/>
51+
<element name="xCoordinate" type="text" selector="return document.querySelectorAll('.pagebuilder-button-item')[{{arg1}}].getBoundingClientRect().x" parameterized="true"/>
52+
<element name="yCoordinate" type="text" selector="return document.querySelectorAll('.pagebuilder-button-item')[{{arg1}}].getBoundingClientRect().y" parameterized="true"/>
4953
<!-- Content Configuration -->
5054
<element name="buttonItemText" type="button" selector="(//div[contains(@class,'pagebuilder-button-item')])[{{arg1}}]//a[contains(@class,'pagebuilder-button')]//span[contains(.,'{{arg2}}')]" parameterized="true"/>
5155
<element name="buttonItemType" type="button" selector="(//div[contains(@class,'pagebuilder-button-item')])[{{arg1}}]//a[@class='{{arg2}}']" parameterized="true"/>
@@ -66,6 +70,8 @@
6670
<element name="allButtons" type="button" selector="//div[@data-role='button-item']"/>
6771
<element name="base" type="button" selector="(//div[@data-role='button-item'])[{{arg1}}]" parameterized="true"/>
6872
<element name="emptyButtonItemElement" type="button" selector="(//div[@data-role='button-item'])[{{arg1}}]//a//span[not(text())]" parameterized="true"/>
73+
<element name="xCoordinate" type="text" selector="return document.querySelectorAll('div[data-role=\'button-item\']')[{{arg1}}].getBoundingClientRect().x" parameterized="true"/>
74+
<element name="yCoordinate" type="text" selector="return document.querySelectorAll('div[data-role=\'button-item\']')[{{arg1}}].getBoundingClientRect().y" parameterized="true"/>
6975
<!-- Content Configuration -->
7076
<element name="buttonItemText" type="button" selector="(//div[@data-role='button-item'])[{{arg1}}]//a//span[contains(.,'{{arg2}}')]" parameterized="true"/>
7177
<element name="buttonItemType" type="button" selector="(//div[@data-role='button-item'])[{{arg1}}]//a[@class='{{arg2}}']" parameterized="true"/>

0 commit comments

Comments
 (0)