mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-06 16:10:09 +00:00
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
import type { LGraphNode } from '@comfyorg/litegraph'
|
|
import { describe, expect, it, vi } from 'vitest'
|
|
|
|
import { useNodeImagePreview } from '@/composables/node/useNodeImagePreview'
|
|
|
|
// Mock dependencies
|
|
vi.mock('@/composables/widgets/useImagePreviewWidget', () => ({
|
|
useImagePreviewWidget: vi.fn(() =>
|
|
vi.fn(() => ({
|
|
name: '$$node-image-preview',
|
|
value: '',
|
|
onRemove: vi.fn()
|
|
}))
|
|
)
|
|
}))
|
|
|
|
describe('useNodeImagePreview', () => {
|
|
const mockNode = {
|
|
id: 'test-node',
|
|
widgets: [],
|
|
setDirtyCanvas: vi.fn()
|
|
} as unknown as LGraphNode
|
|
|
|
it('provides showImagePreview and removeImagePreview functions', () => {
|
|
const { showImagePreview, removeImagePreview } = useNodeImagePreview()
|
|
|
|
expect(showImagePreview).toBeDefined()
|
|
expect(removeImagePreview).toBeDefined()
|
|
expect(typeof showImagePreview).toBe('function')
|
|
expect(typeof removeImagePreview).toBe('function')
|
|
})
|
|
|
|
it('shows image preview for single image', () => {
|
|
const { showImagePreview } = useNodeImagePreview()
|
|
|
|
showImagePreview(mockNode, 'test-image.png')
|
|
|
|
expect(mockNode.setDirtyCanvas).toHaveBeenCalledWith(true)
|
|
})
|
|
|
|
it('shows image preview for multiple images', () => {
|
|
const { showImagePreview } = useNodeImagePreview()
|
|
|
|
showImagePreview(mockNode, ['image1.png', 'image2.png'], {
|
|
allow_batch: true
|
|
})
|
|
|
|
expect(mockNode.setDirtyCanvas).toHaveBeenCalledWith(true)
|
|
})
|
|
|
|
it('removes image preview widget', () => {
|
|
const mockWidget = {
|
|
name: '$$node-image-preview',
|
|
onRemove: vi.fn()
|
|
}
|
|
|
|
const nodeWithWidget = {
|
|
...mockNode,
|
|
widgets: [mockWidget]
|
|
} as unknown as LGraphNode
|
|
|
|
const { removeImagePreview } = useNodeImagePreview()
|
|
|
|
removeImagePreview(nodeWithWidget)
|
|
|
|
expect(mockWidget.onRemove).toHaveBeenCalled()
|
|
expect(nodeWithWidget.widgets).toHaveLength(0)
|
|
})
|
|
})
|