|
13 | 13 | <stories value="Text"/>
|
14 | 14 | <title value="TinyMCE4 table toolbar on PageBuilder stage"/>
|
15 | 15 | <description value="Verify that WYSIWYG table toolbar doesn't overlap textarea"/>
|
| 16 | + <severity value="AVERAGE"/> |
16 | 17 | <group value="pagebuilder"/>
|
17 | 18 | <group value="pagebuilder-text"/>
|
18 | 19 | <group value="pagebuilder-tinyMCE"/>
|
|
34 | 35 | <actionGroup ref="duplicateContentType" stepKey="duplicateContentType">
|
35 | 36 | <argument name="contentType" value="PageBuilderColumnContentType"/>
|
36 | 37 | </actionGroup>
|
37 |
| - <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection1"> |
| 38 | + <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection"> |
38 | 39 | <argument name="contentType" value="PageBuilderTextContentType"/>
|
39 | 40 | </actionGroup>
|
40 | 41 | <actionGroup ref="dragContentTypeToStage" stepKey="dragTextToColumnContentType">
|
41 | 42 | <argument name="contentType" value="PageBuilderTextContentType"/>
|
42 | 43 | <argument name="containerTargetType" value="PageBuilderColumnContentType"/>
|
43 |
| - <argument name="containerTargetIndex" value="2"/> |
| 44 | + <argument name="containerTargetIndex" value="1"/> |
44 | 45 | </actionGroup>
|
45 | 46 | <!-- Add table to Text Editor -->
|
46 | 47 | <clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="focusOnTextEditorArea"/>
|
| 48 | + <waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.table}}" stepKey="waitForTableMenuItem"/> |
47 | 49 | <click selector="{{WYSIWYGOnPageBuilderInline.table}}" stepKey="clickOnTableMenuItem"/>
|
48 |
| - <moveMouseOver selector="{{WYSIWYGOnPageBuilderInline.tableMenuFirstItem('2')}}" stepKey="moveMouseOverTableMenuIFirstItem"/> |
| 50 | + <waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.tableMenuFirstItem('2')}}" stepKey="waitForTableMenuIFirstItem"/> |
49 | 51 | <click selector="{{WYSIWYGOnPageBuilderInline.tableMenuFirstItem('2')}}" stepKey="clickOnTableMenuFirstItem"/>
|
50 |
| - <click selector="{{WYSIWYGOnPageBuilderInline.tableGrid('6', '0')}}" stepKey="chooseTableSize"/> |
| 52 | + <waitForElement selector="{{WYSIWYGOnPageBuilderInline.tableGrid('6', '1')}}" stepKey="waitForTableGrid"/> |
| 53 | + <click selector="{{WYSIWYGOnPageBuilderInline.tableGrid('6', '1')}}" stepKey="chooseTableSize"/> |
51 | 54 | <!-- Validate table size is 7 x 1 -->
|
52 | 55 | <seeElement selector="{{TextOnStage.elementInText('1', 'table', '1')}}" stepKey="seeTable"/>
|
53 |
| - <seeElement selector="{{TextOnStage.elementInText('1', 'tr', '1')}}" stepKey="seeTableTr"/> |
54 |
| - <dontSeeElement selector="{{TextOnStage.elementInText('1', 'tr', '2')}}" stepKey="dontSeeMoreThan1TableTr"/> |
| 56 | + <seeElement selector="{{TextOnStage.elementInText('1', 'tr', '2')}}" stepKey="see2TableTr"/> |
| 57 | + <dontSeeElement selector="{{TextOnStage.elementInText('1', 'tr', '3')}}" stepKey="dontSeeMoreThan2TableTr"/> |
55 | 58 | <seeElement selector="{{TextOnStage.elementInText('1', 'td', '7')}}" stepKey="see7TableTd"/>
|
56 | 59 | <dontSeeElement selector="{{TextOnStage.elementInText('1', 'td', '8')}}" stepKey="dontSeeMoreThan7TableTr"/>
|
57 |
| - <!-- Validate that textarea is visible --> |
| 60 | + <!-- Validate all table toolbar menu items --> |
| 61 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties"/> |
| 62 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable"/> |
| 63 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowBefore}}" stepKey="seeInsertRowBefore"/> |
| 64 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowAfter}}" stepKey="seeInsertRowAfter"/> |
| 65 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteRow}}" stepKey="seeDeleteRow"/> |
| 66 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnBefore}}" stepKey="seeInsertColumnBefore"/> |
| 67 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnAfter}}" stepKey="seeInsertColumnAfter"/> |
| 68 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteColumn}}" stepKey="seeDeleteColumn"/> |
| 69 | + <!-- Validate that table toolbar doesn't overlap table content --> |
58 | 70 | <seeElement selector="{{TextOnStage.tinymceInFocus('1')}}" stepKey="seeFocusedTinyMCE"/>
|
59 | 71 | <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar"/>
|
60 |
| - <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top" stepKey="grabTableToolbarTopPosition"/> |
61 |
| - <executeJS function="return document.evaluate("{{WYSIWYGOnPageBuilderInline.toolbarPath('1')}}", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabToolbarTopPosition"/> |
62 |
| - <executeJS function="return Math.abs({$grabTableToolbarTopPosition} - {$grabToolbarTopPosition})" stepKey="topPositionDifference"/> |
| 72 | + <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top + document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").offsetHeight" stepKey="grabTableToolbarBottomPosition"/> |
| 73 | + <executeJS function="return document.evaluate("{{TextOnStage.tinymce('1')}}//table", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabTableElementTopPosition"/> |
| 74 | + <executeJS function="return Math.abs({$grabTableToolbarBottomPosition} - {$grabTableElementTopPosition})" stepKey="topPositionDifference"/> |
63 | 75 | <assertLessThanOrEqual stepKey="assertTopPositionDifference">
|
64 | 76 | <expectedResult type="int">2</expectedResult>
|
65 | 77 | <actualResult type="variable">topPositionDifference</actualResult>
|
66 | 78 | </assertLessThanOrEqual>
|
67 |
| - <!-- Add new rows to table and verify that toolbar and textarea changed their position --> |
68 |
| - <waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.insertRowAfterButton}}" stepKey="waitForInsertRowButton"/> |
69 |
| - <click selector="{{WYSIWYGOnPageBuilderInline.insertRowAfterButton}}" stepKey="clickInsertRowButton"/> |
70 |
| - <waitForElementVisible selector="{{TextOnStage.elementInText('1', 'tr', '2')}}" stepKey="waitForTableSecondRow"/> |
71 |
| - <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top" stepKey="grabTableToolbarTopPosition2"/> |
72 |
| - <executeJS function="return document.evaluate("{{WYSIWYGOnPageBuilderInline.toolbarPath('1')}}", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabToolbarTopPosition2"/> |
73 |
| - <executeJS function="return Math.abs({$grabTableToolbarTopPosition} - {$grabToolbarTopPosition})" stepKey="topPositionDifference2"/> |
74 |
| - <assertLessThanOrEqual stepKey="assertTopPositionDifference2"> |
75 |
| - <expectedResult type="int">2</expectedResult> |
76 |
| - <actualResult type="variable">topPositionDifference2</actualResult> |
77 |
| - </assertLessThanOrEqual> |
78 |
| - <!-- Resize column to 4/12 and check toolbar position --> |
| 79 | + <!-- Move text to 6/12 column and verify default tinymce table toolbar --> |
79 | 80 | <click selector="{{PageBuilderPanel.searchPanel}}" stepKey="unFocusEditor"/>
|
80 |
| - <actionGroup ref="duplicateContentType" stepKey="duplicateColumnContentType"> |
81 |
| - <argument name="contentType" value="PageBuilderColumnContentType"/> |
| 81 | + <actionGroup ref="moveContentTypeToContainer" stepKey="moveTextIntoThirdColumn"> |
| 82 | + <argument name="contentType" value="PageBuilderTextContentType"/> |
| 83 | + <argument name="contentTypeIndex" value="1"/> |
| 84 | + <argument name="containerTargetType" value="PageBuilderColumnContentType"/> |
| 85 | + <argument name="containerTargetIndex" value="3"/> |
82 | 86 | </actionGroup>
|
83 |
| - <actionGroup ref="removeContentTypeFromStageByIndex" stepKey="removeColumnContentTypeFromStage"> |
84 |
| - <argument name="contentType" value="PageBuilderColumnContentType"/> |
85 |
| - <argument name="contentTypeNumber" value="2"/> |
| 87 | + <clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType"/> |
| 88 | + <waitForPageLoad stepKey="waitForTinymceToolbar"/> |
| 89 | + <clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickAgainToOpenTableToolbar"/> |
| 90 | + <waitForPageLoad stepKey="waitForTinymceTableToolbar"/> |
| 91 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar2"/> |
| 92 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties2"/> |
| 93 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable2"/> |
| 94 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowBefore}}" stepKey="seeInsertRowBefore2"/> |
| 95 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowAfter}}" stepKey="seeInsertRowAfter2"/> |
| 96 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteRow}}" stepKey="seeDeleteRow2"/> |
| 97 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnBefore}}" stepKey="seeInsertColumnBefore2"/> |
| 98 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnAfter}}" stepKey="seeInsertColumnAfter2"/> |
| 99 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteColumn}}" stepKey="seeDeleteColumn2"/> |
| 100 | + <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top + document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").offsetHeight" stepKey="grabTableToolbarBottomPosition2"/> |
| 101 | + <executeJS function="return document.evaluate("{{TextOnStage.tinymce('1')}}//table", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabTableElementTopPosition2"/> |
| 102 | + <executeJS function="return Math.abs({$grabTableToolbarBottomPosition2} - {$grabTableElementTopPosition2})" stepKey="topPositionDifference2"/> |
| 103 | + <assertGreaterThanOrEqual stepKey="assertTopPositionDifference2"> |
| 104 | + <expectedResult type="int">12</expectedResult> |
| 105 | + <actualResult type="variable">topPositionDifference2</actualResult> |
| 106 | + </assertGreaterThanOrEqual> |
| 107 | + <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top" stepKey="grabTableToolbarTopPosition"/> |
| 108 | + <executeJS function="return document.evaluate("{{TextOnStage.tinymce('1')}}//table", document.body).iterateNext().getBoundingClientRect().top + document.evaluate("{{TextOnStage.tinymce('1')}}//table", document.body).iterateNext().offsetHeight" stepKey="grabTableElementBottomPosition"/> |
| 109 | + <executeJS function="return Math.abs({$grabTableToolbarTopPosition} - {$grabTableElementBottomPosition})" stepKey="bottomPositionDifference"/> |
| 110 | + <assertGreaterThanOrEqual stepKey="assertBottomPositionDifference"> |
| 111 | + <expectedResult type="int">12</expectedResult> |
| 112 | + <actualResult type="variable">bottomPositionDifference</actualResult> |
| 113 | + </assertGreaterThanOrEqual> |
| 114 | + <!-- Validate other Content Types don't overlap toolbar --> |
| 115 | + <click selector="{{PageBuilderPanel.searchPanel}}" stepKey="unFocusEditor2"/> |
| 116 | + <actionGroup ref="expandPageBuilderPanelMenuSection" stepKey="expandPageBuilderPanelMenuSection2"> |
| 117 | + <argument name="contentType" value="PageBuilderVideoContentType"/> |
86 | 118 | </actionGroup>
|
87 |
| - <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top" stepKey="grabTableToolbarTopPosition3"/> |
88 |
| - <executeJS function="return document.evaluate("{{WYSIWYGOnPageBuilderInline.toolbarPath('1')}}", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabToolbarTopPosition3"/> |
89 |
| - <executeJS function="return Math.abs({$grabTableToolbarTopPosition} - {$grabToolbarTopPosition})" stepKey="topPositionDifference3"/> |
| 119 | + <actionGroup ref="dragContentTypeToStage" stepKey="dragVideoToColumnContentType"> |
| 120 | + <argument name="contentType" value="PageBuilderVideoContentType"/> |
| 121 | + <argument name="containerTargetType" value="PageBuilderColumnContentType"/> |
| 122 | + <argument name="containerTargetIndex" value="1"/> |
| 123 | + </actionGroup> |
| 124 | + <actionGroup ref="openPageBuilderEditPanel" stepKey="openVideoEditMenuOnStage"> |
| 125 | + <argument name="contentType" value="PageBuilderVideoContentType"/> |
| 126 | + </actionGroup> |
| 127 | + <actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlProperty"> |
| 128 | + <argument name="property" value="PageBuilderVideoUrl_YouTube"/> |
| 129 | + </actionGroup> |
| 130 | + <actionGroup ref="conditionalClickSlideOutPanelFieldGeneral" stepKey="setAutoplayEnabled"> |
| 131 | + <argument name="property" value="PageBuilderVideoAutoplay_Enabled"/> |
| 132 | + </actionGroup> |
| 133 | + <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/> |
| 134 | + <actionGroup ref="moveContentTypeToContainer" stepKey="moveTextIntoFirstColumn"> |
| 135 | + <argument name="contentType" value="PageBuilderTextContentType"/> |
| 136 | + <argument name="contentTypeIndex" value="1"/> |
| 137 | + <argument name="containerTargetType" value="PageBuilderColumnContentType"/> |
| 138 | + <argument name="containerTargetIndex" value="1"/> |
| 139 | + </actionGroup> |
| 140 | + <clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType2"/> |
| 141 | + <waitForPageLoad stepKey="waitForTinymceToolbar2"/> |
| 142 | + <clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickAgainToOpenTableToolbar2"/> |
| 143 | + <waitForPageLoad stepKey="waitForTinymceTableToolbar2"/> |
| 144 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar3"/> |
| 145 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties3"/> |
| 146 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable3"/> |
| 147 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowBefore}}" stepKey="seeInsertRowBefore3"/> |
| 148 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertRowAfter}}" stepKey="seeInsertRowAfter3"/> |
| 149 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteRow}}" stepKey="seeDeleteRow3"/> |
| 150 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnBefore}}" stepKey="seeInsertColumnBefore3"/> |
| 151 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.insertColumnAfter}}" stepKey="seeInsertColumnAfter3"/> |
| 152 | + <seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteColumn}}" stepKey="seeDeleteColumn3"/> |
| 153 | + <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top + document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").offsetHeight" stepKey="grabTableToolbarBottomPosition3"/> |
| 154 | + <executeJS function="return document.evaluate("{{TextOnStage.tinymce('1')}}//table", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabTableElementTopPosition3"/> |
| 155 | + <executeJS function="return Math.abs({$grabTableToolbarBottomPosition} - {$grabTableElementTopPosition})" stepKey="topPositionDifference3"/> |
90 | 156 | <assertLessThanOrEqual stepKey="assertTopPositionDifference3">
|
91 | 157 | <expectedResult type="int">2</expectedResult>
|
92 | 158 | <actualResult type="variable">topPositionDifference3</actualResult>
|
93 | 159 | </assertLessThanOrEqual>
|
94 |
| - <!-- Resize column back to 3/12 and check toolbar and textarea are visible --> |
95 |
| - <executeJS function="return document.querySelector('{{ColumnOnBackend.columnResizeGridLine('1')}}').clientWidth" stepKey="guideWidth"/> |
96 |
| - <dragAndDrop selector1="{{ColumnOnBackend.columnX('1')}} {{ColumnOnBackend.columnResizeHandle}}" selector2="{{ColumnOnBackend.columnResizeGridLine('3')}}" x="$guideWidth" stepKey="dragColumn1"/> |
97 |
| - <waitForPageLoad stepKey="waitForDragAndDrop"/> |
98 |
| - <executeJS function="return document.querySelector("{{WYSIWYGOnPageBuilderInline.tableToolbar}}").getBoundingClientRect().top" stepKey="grabTableToolbarTopPosition4"/> |
99 |
| - <executeJS function="return document.evaluate("{{WYSIWYGOnPageBuilderInline.toolbarPath('1')}}", document.body).iterateNext().getBoundingClientRect().top" stepKey="grabToolbarTopPosition4"/> |
100 |
| - <executeJS function="return Math.abs({$grabTableToolbarTopPosition} - {$grabToolbarTopPosition})" stepKey="topPositionDifference4"/> |
101 |
| - <assertLessThanOrEqual stepKey="assertTopPositionDifference4"> |
102 |
| - <expectedResult type="int">2</expectedResult> |
103 |
| - <actualResult type="variable">topPositionDifference4</actualResult> |
104 |
| - </assertLessThanOrEqual> |
105 | 160 | </test>
|
106 | 161 | </tests>
|
0 commit comments