Refactor viewport host mock setup in tests

This commit is contained in:
2026-04-03 00:37:31 +02:00
parent 47753b4c14
commit 11ef2c71db

View File

@@ -5,27 +5,48 @@ import { createEmptySceneDocument } from "../../src/document/scene-document";
import { ViewportCanvas } from "../../src/viewport-three/ViewportCanvas"; import { ViewportCanvas } from "../../src/viewport-three/ViewportCanvas";
import type { CreationViewportToolPreview, ViewportToolPreview } from "../../src/viewport-three/viewport-transient-state"; import type { CreationViewportToolPreview, ViewportToolPreview } from "../../src/viewport-three/viewport-transient-state";
const viewportHostInstances: MockViewportHost[] = []; const { MockViewportHost, viewportHostInstances } = vi.hoisted(() => {
const viewportHostInstances: Array<{
mount: ReturnType<typeof vi.fn>;
dispose: ReturnType<typeof vi.fn>;
updateWorld: ReturnType<typeof vi.fn>;
updateAssets: ReturnType<typeof vi.fn>;
updateDocument: ReturnType<typeof vi.fn>;
setViewMode: ReturnType<typeof vi.fn>;
setDisplayMode: ReturnType<typeof vi.fn>;
setBrushSelectionChangeHandler: ReturnType<typeof vi.fn>;
setCreationPreviewChangeHandler: ReturnType<typeof vi.fn>;
setCreationCommitHandler: ReturnType<typeof vi.fn>;
setToolMode: ReturnType<typeof vi.fn>;
setCreationPreview: ReturnType<typeof vi.fn>;
focusSelection: ReturnType<typeof vi.fn>;
}> = [];
class MockViewportHost { class MockViewportHost {
mount = vi.fn(); mount = vi.fn();
dispose = vi.fn(); dispose = vi.fn();
updateWorld = vi.fn(); updateWorld = vi.fn();
updateAssets = vi.fn(); updateAssets = vi.fn();
updateDocument = vi.fn(); updateDocument = vi.fn();
setViewMode = vi.fn(); setViewMode = vi.fn();
setDisplayMode = vi.fn(); setDisplayMode = vi.fn();
setBrushSelectionChangeHandler = vi.fn(); setBrushSelectionChangeHandler = vi.fn();
setCreationPreviewChangeHandler = vi.fn(); setCreationPreviewChangeHandler = vi.fn();
setCreationCommitHandler = vi.fn(); setCreationCommitHandler = vi.fn();
setToolMode = vi.fn(); setToolMode = vi.fn();
setCreationPreview = vi.fn(); setCreationPreview = vi.fn();
focusSelection = vi.fn(); focusSelection = vi.fn();
constructor() { constructor() {
viewportHostInstances.push(this); viewportHostInstances.push(this);
}
} }
}
return {
MockViewportHost,
viewportHostInstances
};
});
vi.mock("../../src/viewport-three/viewport-host", () => ({ vi.mock("../../src/viewport-three/viewport-host", () => ({
ViewportHost: MockViewportHost ViewportHost: MockViewportHost