mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-25 17:24:07 +00:00
## Summary
Backport of #6966 onto cloud/1.33.
- cherry-picked 29dbfa3f
- accepted upstream snapshot updates (only zoomed-in ctrl+shift PNG
conflicted)
## Testing
- pnpm typecheck
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6978-backport-cloud-1-33-fix-Vue-Node-Litegraph-node-height-offset-normalization-2b86d73d365081a19a81f4fac0fd2e91)
by [Unito](https://www.unito.io)
Co-authored-by: github-actions <github-actions@github.com>
101 lines
3.2 KiB
TypeScript
101 lines
3.2 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
import { useLayoutMutations } from '@/renderer/core/layout/operations/layoutMutations'
|
|
import { LayoutSource } from '@/renderer/core/layout/types'
|
|
import { useNodeZIndex } from '@/renderer/extensions/vueNodes/composables/useNodeZIndex'
|
|
|
|
// Mock the layout mutations module
|
|
vi.mock('@/renderer/core/layout/operations/layoutMutations', () => ({
|
|
useLayoutMutations: vi.fn()
|
|
}))
|
|
|
|
const mockedUseLayoutMutations = vi.mocked(useLayoutMutations)
|
|
|
|
describe('useNodeZIndex', () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks()
|
|
})
|
|
|
|
describe('bringNodeToFront', () => {
|
|
it('should bring node to front with default source', () => {
|
|
const mockSetSource = vi.fn()
|
|
const mockBringNodeToFront = vi.fn()
|
|
|
|
mockedUseLayoutMutations.mockReturnValue({
|
|
setSource: mockSetSource,
|
|
bringNodeToFront: mockBringNodeToFront
|
|
} as Partial<ReturnType<typeof useLayoutMutations>> as ReturnType<
|
|
typeof useLayoutMutations
|
|
>)
|
|
|
|
const { bringNodeToFront } = useNodeZIndex()
|
|
|
|
bringNodeToFront('node1')
|
|
|
|
expect(mockSetSource).toHaveBeenCalledWith(LayoutSource.Vue)
|
|
expect(mockBringNodeToFront).toHaveBeenCalledWith('node1')
|
|
})
|
|
|
|
it('should bring node to front with custom source', () => {
|
|
const mockSetSource = vi.fn()
|
|
const mockBringNodeToFront = vi.fn()
|
|
|
|
mockedUseLayoutMutations.mockReturnValue({
|
|
setSource: mockSetSource,
|
|
bringNodeToFront: mockBringNodeToFront
|
|
} as Partial<ReturnType<typeof useLayoutMutations>> as ReturnType<
|
|
typeof useLayoutMutations
|
|
>)
|
|
|
|
const { bringNodeToFront } = useNodeZIndex()
|
|
|
|
bringNodeToFront('node2', LayoutSource.Canvas)
|
|
|
|
expect(mockSetSource).toHaveBeenCalledWith(LayoutSource.Canvas)
|
|
expect(mockBringNodeToFront).toHaveBeenCalledWith('node2')
|
|
})
|
|
|
|
it('should use custom layout source from options', () => {
|
|
const mockSetSource = vi.fn()
|
|
const mockBringNodeToFront = vi.fn()
|
|
|
|
mockedUseLayoutMutations.mockReturnValue({
|
|
setSource: mockSetSource,
|
|
bringNodeToFront: mockBringNodeToFront
|
|
} as Partial<ReturnType<typeof useLayoutMutations>> as ReturnType<
|
|
typeof useLayoutMutations
|
|
>)
|
|
|
|
const { bringNodeToFront } = useNodeZIndex({
|
|
layoutSource: LayoutSource.External
|
|
})
|
|
|
|
bringNodeToFront('node3')
|
|
|
|
expect(mockSetSource).toHaveBeenCalledWith(LayoutSource.External)
|
|
expect(mockBringNodeToFront).toHaveBeenCalledWith('node3')
|
|
})
|
|
|
|
it('should override layout source with explicit source parameter', () => {
|
|
const mockSetSource = vi.fn()
|
|
const mockBringNodeToFront = vi.fn()
|
|
|
|
mockedUseLayoutMutations.mockReturnValue({
|
|
setSource: mockSetSource,
|
|
bringNodeToFront: mockBringNodeToFront
|
|
} as Partial<ReturnType<typeof useLayoutMutations>> as ReturnType<
|
|
typeof useLayoutMutations
|
|
>)
|
|
|
|
const { bringNodeToFront } = useNodeZIndex({
|
|
layoutSource: LayoutSource.External
|
|
})
|
|
|
|
bringNodeToFront('node4', LayoutSource.Canvas)
|
|
|
|
expect(mockSetSource).toHaveBeenCalledWith(LayoutSource.Canvas)
|
|
expect(mockBringNodeToFront).toHaveBeenCalledWith('node4')
|
|
})
|
|
})
|
|
})
|