Skip to content

Commit 1de7de5

Browse files
sergiy-vandrewbess
authored andcommitted
AC-2086: updated ContentType clicking logic to stabilize TextVerifyTinyMCETableToolbarOnPageBuilderStageTest
1 parent 6e10819 commit 1de7de5

File tree

3 files changed

+28
-11
lines changed

3 files changed

+28
-11
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderTextTest/TextVerifyTinyMCETableToolbarOnPageBuilderStageTest.xml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,13 @@
112112
</actionGroup>
113113

114114
<!-- Initialize TinyMCE Table Toolbar & Verify All Table Toolbar Menu Items are Visible -->
115-
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType"/>
116-
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.toolbar}}" stepKey="waitForTinyMCEToolbar"/>
117-
<comment userInput="Step key preserved for backwards compatibility" stepKey="clickAgainToOpenTableToolbar"/>
118-
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinyMCETableToolbar"/>
115+
<actionGroup ref="focusOnInlineTinyMCEEditor" stepKey="clickOnTextContentType">
116+
<argument name="contentTypeXCoordinate" value="10"/>
117+
<argument name="contentTypeYCoordinate" value="10"/>
118+
</actionGroup>
119+
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinyMCEToolbar"/>
120+
<conditionalClick selector="{{TextOnStage.tinymce('1')}}" dependentSelector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" visible="false" stepKey="clickAgainToOpenTableToolbar"/>
121+
<waitForPageLoad stepKey="waitForTinyMCETableToolbar"/>
119122
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar2"/>
120123
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties2"/>
121124
<seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable2"/>
@@ -171,10 +174,13 @@
171174
</actionGroup>
172175

173176
<!-- Initialize TinyMCE Table Toolbar & Verify All Table Toolbar Menu Items are Visible Again -->
174-
<clickWithLeftButton x="10" y="10" selector="{{TextOnStage.tinymce('1')}}" stepKey="clickOnTextContentType2"/>
175-
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.toolbar}}" stepKey="waitForTinymceToolbar2"/>
176-
<comment userInput="Step key preserved for backwards compatibility" stepKey="clickAgainToOpenTableToolbar2"/>
177-
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinymceTableToolbar2"/>
177+
<actionGroup ref="focusOnInlineTinyMCEEditor" stepKey="clickOnTextContentType2">
178+
<argument name="contentTypeXCoordinate" value="10"/>
179+
<argument name="contentTypeYCoordinate" value="10"/>
180+
</actionGroup>
181+
<comment userInput="Step key preserved for backwards compatibility" stepKey="waitForTinymceToolbar2"/>
182+
<conditionalClick selector="{{TextOnStage.tinymce('1')}}" dependentSelector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" visible="false" stepKey="clickAgainToOpenTableToolbar2"/>
183+
<waitForPageLoad stepKey="waitForTinymceTableToolbar2"/>
178184
<waitForElementVisible selector="{{WYSIWYGOnPageBuilderInline.tableToolbar}}" stepKey="seeTableToolbar3"/>
179185
<seeElement selector="{{WYSIWYGOnPageBuilderInline.tableProperties}}" stepKey="seeTableProperties3"/>
180186
<seeElement selector="{{WYSIWYGOnPageBuilderInline.deleteTable}}" stepKey="seeDeleteTable3"/>

app/code/Magento/PageBuilder/view/adminhtml/web/js/wysiwyg/tinymce.js

Lines changed: 8 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/wysiwyg/tinymce.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,11 @@ export default class Wysiwyg implements WysiwygInterface {
172172

173173
events.trigger("stage:interactionStart");
174174

175+
const element = document.querySelector(`#${this.elementId}`);
176+
if (!element) {
177+
return;
178+
}
179+
175180
// Wait for everything else to finish
176181
_.defer(() => delayUntil(
177182
() => {
@@ -203,7 +208,7 @@ export default class Wysiwyg implements WysiwygInterface {
203208
document.body.appendChild(dialogContainer);
204209
}
205210
},
206-
() => document.querySelector(`#${this.elementId}`).classList.contains("mce-edit-focus"),
211+
() => element.classList.contains("mce-edit-focus"),
207212
10,
208213
));
209214
}

0 commit comments

Comments
 (0)