From 55ad0fe9f0abb8a3e338ba3cd57a25a8da9caaf0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 6 Apr 2026 12:30:33 +0300 Subject: [PATCH] test(ckeditor5-mermaid): broken tests after change in rendering --- packages/ckeditor5-mermaid/.gitignore | 3 +++ .../ckeditor5-mermaid/tests/mermaidediting.ts | 26 ++++++------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/packages/ckeditor5-mermaid/.gitignore b/packages/ckeditor5-mermaid/.gitignore index 437dda1d0a..f5540c913e 100644 --- a/packages/ckeditor5-mermaid/.gitignore +++ b/packages/ckeditor5-mermaid/.gitignore @@ -8,3 +8,6 @@ sample/ckeditor.dist.js # Ignore compiled TypeScript files. src/**/*.js src/**/*.d.ts + +.vitest-attachments +tests/__screenshots__ diff --git a/packages/ckeditor5-mermaid/tests/mermaidediting.ts b/packages/ckeditor5-mermaid/tests/mermaidediting.ts index 65bb2fed54..026f269f46 100644 --- a/packages/ckeditor5-mermaid/tests/mermaidediting.ts +++ b/packages/ckeditor5-mermaid/tests/mermaidediting.ts @@ -201,6 +201,8 @@ describe( 'MermaidEditing', () => { let domPreviewContainer, renderMermaidStub; beforeEach( () => { + renderMermaidStub = vi.spyOn( editor.plugins.get( 'MermaidEditing' ), '_renderMermaid' ); + // Using editor.setData() instead of setModelData helper because of #11365. editor.setData( '
' +
@@ -210,40 +212,28 @@ describe( 'MermaidEditing', () => {
 
 						const previewContainerView = editor.editing.view.document.getRoot().getChild( 0 ).getChild( 2 );
 						domPreviewContainer = editor.editing.view.domConverter.viewToDom( previewContainerView );
-
-						renderMermaidStub = vi.spyOn( editor.plugins.get( 'MermaidEditing' ), '_renderMermaid' );
 					} );
 
 					afterEach( () => {
 						vi.clearAllMocks();
 					} );
 
-					it( 'has proper inner text set during the initial conversion', () => {
-						expect( domPreviewContainer.textContent ).to.equal( 'flowchart TB\nA --> B\nB --> C' );
+					it( 'calls render with source during the initial conversion', () => {
+						expect( renderMermaidStub ).toBeCalledWith( domPreviewContainer, 'flowchart TB\nA --> B\nB --> C' );
 					} );
 
-					it( 'has proper inner text set after a model\'s attribute change', () => {
+					it( 'calls render with updated source after a model\'s attribute change', () => {
 						const { model } = editor;
 
+						renderMermaidStub.mockClear();
+
 						const mermaidModel = model.document.getRoot().getChild( 0 );
 
 						model.change( writer => {
 							writer.setAttribute( 'source', 'abc', mermaidModel );
 						} );
 
-						expect( domPreviewContainer.textContent ).to.equal( 'abc' );
-					} );
-
-					it( 'calls mermaid render function after a model\'s attribute change', () => {
-						const { model } = editor;
-
-						const mermaidModel = model.document.getRoot().getChild( 0 );
-
-						model.change( writer => {
-							writer.setAttribute( 'source', 'abc', mermaidModel );
-						} );
-
-						expect(renderMermaidStub).toBeCalledWith(domPreviewContainer);
+						expect( renderMermaidStub ).toBeCalledWith( domPreviewContainer, 'abc' );
 					} );
 				} );
 			} );