diff --git a/src/composables/maskeditor/useImageLoader.test.ts b/src/composables/maskeditor/useImageLoader.test.ts index ae4938366..53447066b 100644 --- a/src/composables/maskeditor/useImageLoader.test.ts +++ b/src/composables/maskeditor/useImageLoader.test.ts @@ -7,17 +7,26 @@ const mockCanvasManager = { updateMaskColor: vi.fn().mockResolvedValue(undefined) } -const mockStore = { - imgCanvas: null as any, - maskCanvas: null as any, - rgbCanvas: null as any, - imgCtx: null as any, - maskCtx: null as any, - image: null as any +const mockStore: { + imgCanvas: unknown + maskCanvas: unknown + rgbCanvas: unknown + imgCtx: unknown + maskCtx: unknown + image: unknown +} = { + imgCanvas: null, + maskCanvas: null, + rgbCanvas: null, + imgCtx: null, + maskCtx: null, + image: null } -const mockDataStore = { - inputData: null as any +const mockDataStore: { + inputData: unknown +} = { + inputData: null } vi.mock('@/stores/maskEditorStore', () => ({ @@ -33,7 +42,8 @@ vi.mock('@/composables/maskeditor/useCanvasManager', () => ({ })) vi.mock('@vueuse/core', () => ({ - createSharedComposable: (fn: any) => fn + createSharedComposable: unknown>(fn: T) => + fn })) describe('useImageLoader', () => { @@ -104,10 +114,10 @@ describe('useImageLoader', () => { await loader.loadImages() - expect(mockStore.maskCanvas.width).toBe(512) - expect(mockStore.maskCanvas.height).toBe(512) - expect(mockStore.rgbCanvas.width).toBe(512) - expect(mockStore.rgbCanvas.height).toBe(512) + expect((mockStore.maskCanvas as { width: number }).width).toBe(512) + expect((mockStore.maskCanvas as { height: number }).height).toBe(512) + expect((mockStore.rgbCanvas as { width: number }).width).toBe(512) + expect((mockStore.rgbCanvas as { height: number }).height).toBe(512) }) it('should clear canvas contexts', async () => { @@ -115,8 +125,12 @@ describe('useImageLoader', () => { await loader.loadImages() - expect(mockStore.imgCtx.clearRect).toHaveBeenCalledWith(0, 0, 0, 0) - expect(mockStore.maskCtx.clearRect).toHaveBeenCalledWith(0, 0, 0, 0) + expect( + (mockStore.imgCtx as { clearRect: ReturnType }).clearRect + ).toHaveBeenCalledWith(0, 0, 0, 0) + expect( + (mockStore.maskCtx as { clearRect: ReturnType }).clearRect + ).toHaveBeenCalledWith(0, 0, 0, 0) }) it('should call canvasManager methods', async () => { @@ -188,10 +202,10 @@ describe('useImageLoader', () => { await loader.loadImages() - expect(mockStore.maskCanvas.width).toBe(1024) - expect(mockStore.maskCanvas.height).toBe(768) - expect(mockStore.rgbCanvas.width).toBe(1024) - expect(mockStore.rgbCanvas.height).toBe(768) + expect((mockStore.maskCanvas as { width: number }).width).toBe(1024) + expect((mockStore.maskCanvas as { height: number }).height).toBe(768) + expect((mockStore.rgbCanvas as { width: number }).width).toBe(1024) + expect((mockStore.rgbCanvas as { height: number }).height).toBe(768) }) }) }) diff --git a/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts b/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts index 7b936392a..92699283e 100644 --- a/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts +++ b/src/lib/litegraph/src/subgraph/SubgraphMemory.test.ts @@ -10,6 +10,12 @@ import { createTestSubgraphNode } from './__fixtures__/subgraphHelpers' +type InputWithWidget = { + _widget?: IWidget | { type: string; value: unknown; name: string } + _connection?: { id: number; type: string } + _listenerController?: AbortController +} + describe.skip('SubgraphNode Memory Management', () => { describe.skip('Event Listener Cleanup', () => { it('should register event listeners on construction', () => { @@ -308,14 +314,14 @@ describe.skip('SubgraphMemory - Widget Reference Management', () => { // Set widget reference if (input && '_widget' in input) { - ;(input as any)._widget = mockWidget - expect((input as any)._widget).toBe(mockWidget) + ;(input as InputWithWidget)._widget = mockWidget + expect((input as InputWithWidget)._widget).toBe(mockWidget) } // Clear widget reference if (input && '_widget' in input) { - ;(input as any)._widget = undefined - expect((input as any)._widget).toBeUndefined() + ;(input as InputWithWidget)._widget = undefined + expect((input as InputWithWidget)._widget).toBeUndefined() } } ) @@ -360,30 +366,34 @@ describe.skip('SubgraphMemory - Widget Reference Management', () => { // Set up references that should be cleaned up const mockReferences = { - widget: { type: 'number', value: 42 }, + widget: { type: 'number', value: 42, name: 'mock_widget' }, connection: { id: 1, type: 'number' }, listener: vi.fn() } // Set references if (input) { - ;(input as any)._widget = mockReferences.widget - ;(input as any)._connection = mockReferences.connection + ;(input as InputWithWidget)._widget = mockReferences.widget + ;(input as InputWithWidget)._connection = mockReferences.connection } if (output) { - ;(input as any)._connection = mockReferences.connection + ;(input as InputWithWidget)._connection = mockReferences.connection } // Verify references are set - expect((input as any)?._widget).toBe(mockReferences.widget) - expect((input as any)?._connection).toBe(mockReferences.connection) + expect((input as InputWithWidget)?._widget).toBe(mockReferences.widget) + expect((input as InputWithWidget)?._connection).toBe( + mockReferences.connection + ) // Simulate proper cleanup (what onRemoved should do) subgraphNode.onRemoved() // Input-specific listeners should be cleaned up (this works) if (input && '_listenerController' in input) { - expect((input as any)._listenerController?.signal.aborted).toBe(true) + expect( + (input as InputWithWidget)._listenerController?.signal.aborted + ).toBe(true) } } ) diff --git a/src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts b/src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts index 25d0058cd..ac4e0cd7a 100644 --- a/src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts +++ b/src/renderer/extensions/minimap/minimapCanvasRenderer.test.ts @@ -33,11 +33,11 @@ describe('minimapCanvasRenderer', () => { fillStyle: '', strokeStyle: '', lineWidth: 1 - } as any + } as unknown as CanvasRenderingContext2D mockCanvas = { getContext: vi.fn().mockReturnValue(mockContext) - } as any + } as unknown as HTMLCanvasElement mockGraph = { _nodes: [ @@ -63,11 +63,11 @@ describe('minimapCanvasRenderer', () => { _groups: [], links: {}, getNodeById: vi.fn() - } as any + } as unknown as LGraph vi.mocked(useColorPaletteStore).mockReturnValue({ completedActivePalette: { light_theme: false } - } as any) + } as unknown as ReturnType) }) it('should clear canvas and render nodes', () => { @@ -203,7 +203,7 @@ describe('minimapCanvasRenderer', () => { size: [400, 300], color: '#0000FF' } - ] as any + ] as unknown as typeof mockGraph._groups const context: MinimapRenderContext = { bounds: { minX: 0, minY: 0, width: 500, height: 400 }, @@ -236,14 +236,14 @@ describe('minimapCanvasRenderer', () => { { links: [1] } - ] as any + ] as unknown as (typeof mockGraph._nodes)[0]['outputs'] // Create a hybrid Map/Object for links as LiteGraph expects const linksMap = new Map([[1, { id: 1, target_id: 2 }]]) const links = Object.assign(linksMap, { 1: { id: 1, target_id: 2 } }) - mockGraph.links = links as any + mockGraph.links = links as unknown as typeof mockGraph.links mockGraph.getNodeById = vi.fn().mockReturnValue(targetNode) @@ -277,7 +277,7 @@ describe('minimapCanvasRenderer', () => { it('should handle light theme colors', () => { vi.mocked(useColorPaletteStore).mockReturnValue({ completedActivePalette: { light_theme: true } - } as any) + } as unknown as ReturnType) const context: MinimapRenderContext = { bounds: { minX: 0, minY: 0, width: 500, height: 400 },