mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-07 09:21:24 +08:00
fix: test stability
This commit is contained in:
@@ -5,6 +5,26 @@ import { wait } from '../utils/common.js';
|
|||||||
import { getSurface } from '../utils/edgeless.js';
|
import { getSurface } from '../utils/edgeless.js';
|
||||||
import { setupEditor } from '../utils/setup.js';
|
import { setupEditor } from '../utils/setup.js';
|
||||||
|
|
||||||
|
async function waitForConnectorElement(
|
||||||
|
surfaceView: ReturnType<typeof getSurface>,
|
||||||
|
connectorId: string,
|
||||||
|
timeout = 1000
|
||||||
|
) {
|
||||||
|
const startedAt = Date.now();
|
||||||
|
|
||||||
|
while (Date.now() - startedAt < timeout) {
|
||||||
|
const connectorElement = surfaceView.renderRoot.querySelector<HTMLElement>(
|
||||||
|
`[data-element-id="${connectorId}"]`
|
||||||
|
);
|
||||||
|
|
||||||
|
if (connectorElement) return connectorElement;
|
||||||
|
|
||||||
|
await wait(50);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
describe('Connector rendering with DOM renderer', () => {
|
describe('Connector rendering with DOM renderer', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
const cleanup = await setupEditor('edgeless', [], {
|
const cleanup = await setupEditor('edgeless', [], {
|
||||||
@@ -44,10 +64,9 @@ describe('Connector rendering with DOM renderer', () => {
|
|||||||
};
|
};
|
||||||
const connectorId = surfaceModel.addElement(connectorProps);
|
const connectorId = surfaceModel.addElement(connectorProps);
|
||||||
|
|
||||||
await wait(100);
|
const connectorElement = await waitForConnectorElement(
|
||||||
|
surfaceView,
|
||||||
const connectorElement = surfaceView?.renderRoot.querySelector(
|
connectorId
|
||||||
`[data-element-id="${connectorId}"]`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(connectorElement).not.toBeNull();
|
expect(connectorElement).not.toBeNull();
|
||||||
@@ -73,11 +92,9 @@ describe('Connector rendering with DOM renderer', () => {
|
|||||||
};
|
};
|
||||||
const connectorId = surfaceModel.addElement(connectorProps);
|
const connectorId = surfaceModel.addElement(connectorProps);
|
||||||
|
|
||||||
// Wait for path generation and rendering
|
const connectorElement = await waitForConnectorElement(
|
||||||
await wait(500);
|
surfaceView,
|
||||||
|
connectorId
|
||||||
const connectorElement = surfaceView?.renderRoot.querySelector(
|
|
||||||
`[data-element-id="${connectorId}"]`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(connectorElement).not.toBeNull();
|
expect(connectorElement).not.toBeNull();
|
||||||
@@ -110,10 +127,9 @@ describe('Connector rendering with DOM renderer', () => {
|
|||||||
};
|
};
|
||||||
const connectorId = surfaceModel.addElement(connectorProps);
|
const connectorId = surfaceModel.addElement(connectorProps);
|
||||||
|
|
||||||
await wait(100);
|
const connectorElement = await waitForConnectorElement(
|
||||||
|
surfaceView,
|
||||||
const connectorElement = surfaceView?.renderRoot.querySelector(
|
connectorId
|
||||||
`[data-element-id="${connectorId}"]`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(connectorElement).not.toBeNull();
|
expect(connectorElement).not.toBeNull();
|
||||||
@@ -139,10 +155,9 @@ describe('Connector rendering with DOM renderer', () => {
|
|||||||
};
|
};
|
||||||
const connectorId = surfaceModel.addElement(connectorProps);
|
const connectorId = surfaceModel.addElement(connectorProps);
|
||||||
|
|
||||||
await wait(100);
|
let connectorElement = await waitForConnectorElement(
|
||||||
|
surfaceView,
|
||||||
let connectorElement = surfaceView.renderRoot.querySelector(
|
connectorId
|
||||||
`[data-element-id="${connectorId}"]`
|
|
||||||
);
|
);
|
||||||
expect(connectorElement).not.toBeNull();
|
expect(connectorElement).not.toBeNull();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user