From a46f1a3adf68894d3de47c413605af3236b95b1f Mon Sep 17 00:00:00 2001 From: doodlewind <7312949+doodlewind@users.noreply.github.com> Date: Fri, 25 Apr 2025 00:11:22 +0000 Subject: [PATCH] test(editor): reduce flaky in turbo renderer test (#11973) ## Summary by CodeRabbit - **Tests** - Improved test resource cleanup for the viewport turbo renderer, ensuring proper teardown after each test for more reliable and isolated test execution. - Enhanced stability by preventing errors during cleanup when certain elements or editors are absent. --- .../src/__tests__/edgeless/turbo-renderer.spec.ts | 8 ++++++-- blocksuite/integration-test/src/__tests__/utils/setup.ts | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/blocksuite/integration-test/src/__tests__/edgeless/turbo-renderer.spec.ts b/blocksuite/integration-test/src/__tests__/edgeless/turbo-renderer.spec.ts index aa76ef682..c9ad9fbc6 100644 --- a/blocksuite/integration-test/src/__tests__/edgeless/turbo-renderer.spec.ts +++ b/blocksuite/integration-test/src/__tests__/edgeless/turbo-renderer.spec.ts @@ -8,7 +8,7 @@ import { ViewportTurboRendererExtension, } from '@blocksuite/affine-gfx-turbo-renderer'; import { firstValueFrom } from 'rxjs'; -import { beforeEach, describe, expect, test } from 'vitest'; +import { afterEach, beforeEach, describe, expect, test } from 'vitest'; import { wait } from '../utils/common.js'; import { addSampleNotes } from '../utils/doc-generator.js'; @@ -19,8 +19,10 @@ import { } from '../utils/setup.js'; describe('viewport turbo renderer', () => { + let cleanup: () => void; + beforeEach(async () => { - const cleanup = await setupEditor('edgeless', [ + cleanup = await setupEditor('edgeless', [ ParagraphLayoutHandlerExtension, TurboRendererConfigFactory({ painterWorkerEntry: createPainterWorker, @@ -30,6 +32,8 @@ describe('viewport turbo renderer', () => { return cleanup; }); + afterEach(() => cleanup?.()); + test('should render 6 notes in viewport', async () => { addSampleNotes(doc, 6); await wait(); diff --git a/blocksuite/integration-test/src/__tests__/utils/setup.ts b/blocksuite/integration-test/src/__tests__/utils/setup.ts index 992a8c0c4..c62d1c079 100644 --- a/blocksuite/integration-test/src/__tests__/utils/setup.ts +++ b/blocksuite/integration-test/src/__tests__/utils/setup.ts @@ -129,13 +129,13 @@ export async function setupEditor( const appElement = await createEditor(collection, mode, extensions); return () => { - appElement.remove(); + appElement?.remove(); cleanup(); }; } export function cleanup() { - window.editor.remove(); + window.editor?.remove(); delete (window as any).collection;