mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-04 07:00:23 +00:00
* fix z-index on selection for vue nodes * fix unused export * refactor to DDD * Use Tailwind utility for pointer events instead of inline style Move pointer-events: auto from inline style to Tailwind class pointer-events-auto as suggested in PR review. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Rename defaultSource to layoutSource parameter Rename parameter in useNodeZIndex options interface for better clarity as suggested in PR review. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Improve test mocking pattern with vi.mocked approach Replace global mock object with per-test vi.mocked pattern and proper Partial typing instead of as any, as suggested in PR review. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * [auto-fix] Apply ESLint and Prettier fixes --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: GitHub Action <action@github.com>
99 lines
3.2 KiB
TypeScript
99 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')
|
|
|
|
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')
|
|
})
|
|
})
|
|
})
|