@@ -72,10 +72,25 @@ export async function beforeEach(t) {
72
72
73
73
// This is a workaround for the fact that the contenteditable element is not directly selectable
74
74
// for more information see https://testcafe.io/documentation/402688/reference/test-api/testcontroller/selecteditablecontent
75
- export async function typeTextInline ( t , selector , text , switchToIframe = true ) {
75
+ export async function typeTextInline ( t , selector , text , textType , switchToIframe = true ) {
76
76
await waitForReact ( 30000 ) ;
77
77
await Page . waitForIframeLoading ( ) ;
78
78
79
+ const textTypeToTagMap = {
80
+ paragraph : 'p' ,
81
+ heading1 : 'h1' ,
82
+ heading2 : 'h2' ,
83
+ heading3 : 'h3' ,
84
+ heading4 : 'h4'
85
+ } ;
86
+
87
+ if ( ! Object . keys ( textTypeToTagMap ) . includes ( textType ) ) {
88
+ console . warn ( 'Invalid textType, defaulting to "paragraph".' ) ;
89
+ textType = 'paragraph' ;
90
+ }
91
+
92
+ const tagName = textTypeToTagMap [ textType ] || '' ;
93
+
79
94
try {
80
95
const contentIframeSelector = Selector ( '[name="neos-content-main"]' , { timeout : 2000 } ) ;
81
96
@@ -86,9 +101,11 @@ export async function typeTextInline(t, selector, text, switchToIframe = true) {
86
101
await t . eval ( ( ) => {
87
102
const element = window . document . querySelector ( selector ) ;
88
103
const editor = element . closest ( '.ck-editor__editable' ) ;
89
- editor . ckeditorInstance . data . set ( text ) ;
104
+ const content = tagName !== '' ? `<${ tagName } >${ text } </${ tagName } >` : text ;
105
+ console . log ( 'content' , content ) ;
106
+ editor . ckeditorInstance . data . set ( content ) ;
90
107
} ,
91
- { dependencies : { selector, text} }
108
+ { dependencies : { selector, text, tagName } }
92
109
) ;
93
110
} catch ( e ) {
94
111
// console.log(e);
0 commit comments