mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 10:42:44 +00:00
[fix] remove unnecessary awaits (#5806)
## Summary Cleans up src/renderer/extensions/vueNodes/composables/useNodePointerInteractions.test.ts 1. Removes unnecessary ticks. 2. Cleans up `beforeEach` ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5806-fix-remove-unnecessary-awaits-27a6d73d36508103ae1ccb8199195905) by [Unito](https://www.unito.io)
This commit is contained in:
@@ -67,12 +67,7 @@ const createMouseEvent = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
describe('useNodePointerInteractions', () => {
|
describe('useNodePointerInteractions', () => {
|
||||||
let mockNodeData: VueNodeData
|
|
||||||
let mockOnPointerUp: ReturnType<typeof vi.fn>
|
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
mockNodeData = createMockVueNodeData()
|
|
||||||
mockOnPointerUp = vi.fn()
|
|
||||||
vi.clearAllMocks()
|
vi.clearAllMocks()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -81,6 +76,9 @@ describe('useNodePointerInteractions', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('should only start drag on left-click', async () => {
|
it('should only start drag on left-click', async () => {
|
||||||
|
const mockNodeData = createMockVueNodeData()
|
||||||
|
const mockOnPointerUp = vi.fn()
|
||||||
|
|
||||||
const { pointerHandlers } = useNodePointerInteractions(
|
const { pointerHandlers } = useNodePointerInteractions(
|
||||||
ref(mockNodeData),
|
ref(mockNodeData),
|
||||||
mockOnPointerUp
|
mockOnPointerUp
|
||||||
@@ -89,18 +87,15 @@ describe('useNodePointerInteractions', () => {
|
|||||||
// Right-click should not start drag
|
// Right-click should not start drag
|
||||||
const rightClickEvent = createPointerEvent('pointerdown', { button: 2 })
|
const rightClickEvent = createPointerEvent('pointerdown', { button: 2 })
|
||||||
pointerHandlers.onPointerdown(rightClickEvent)
|
pointerHandlers.onPointerdown(rightClickEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
||||||
|
|
||||||
// Left-click should start drag and emit callback
|
// Left-click should start drag and emit callback
|
||||||
const leftClickEvent = createPointerEvent('pointerdown', { button: 0 })
|
const leftClickEvent = createPointerEvent('pointerdown', { button: 0 })
|
||||||
pointerHandlers.onPointerdown(leftClickEvent)
|
pointerHandlers.onPointerdown(leftClickEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
const pointerUpEvent = createPointerEvent('pointerup')
|
const pointerUpEvent = createPointerEvent('pointerup')
|
||||||
pointerHandlers.onPointerup(pointerUpEvent)
|
pointerHandlers.onPointerup(pointerUpEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
||||||
pointerUpEvent,
|
pointerUpEvent,
|
||||||
@@ -110,6 +105,9 @@ describe('useNodePointerInteractions', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('should distinguish drag from click based on distance threshold', async () => {
|
it('should distinguish drag from click based on distance threshold', async () => {
|
||||||
|
const mockNodeData = createMockVueNodeData()
|
||||||
|
const mockOnPointerUp = vi.fn()
|
||||||
|
|
||||||
const { pointerHandlers } = useNodePointerInteractions(
|
const { pointerHandlers } = useNodePointerInteractions(
|
||||||
ref(mockNodeData),
|
ref(mockNodeData),
|
||||||
mockOnPointerUp
|
mockOnPointerUp
|
||||||
@@ -119,14 +117,12 @@ describe('useNodePointerInteractions', () => {
|
|||||||
pointerHandlers.onPointerdown(
|
pointerHandlers.onPointerdown(
|
||||||
createPointerEvent('pointerdown', { clientX: 100, clientY: 100 })
|
createPointerEvent('pointerdown', { clientX: 100, clientY: 100 })
|
||||||
)
|
)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
const dragUpEvent = createPointerEvent('pointerup', {
|
const dragUpEvent = createPointerEvent('pointerup', {
|
||||||
clientX: 200,
|
clientX: 200,
|
||||||
clientY: 200
|
clientY: 200
|
||||||
})
|
})
|
||||||
pointerHandlers.onPointerup(dragUpEvent)
|
pointerHandlers.onPointerup(dragUpEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
||||||
dragUpEvent,
|
dragUpEvent,
|
||||||
@@ -139,11 +135,9 @@ describe('useNodePointerInteractions', () => {
|
|||||||
// Test click (same position)
|
// Test click (same position)
|
||||||
const samePos = { clientX: 100, clientY: 100 }
|
const samePos = { clientX: 100, clientY: 100 }
|
||||||
pointerHandlers.onPointerdown(createPointerEvent('pointerdown', samePos))
|
pointerHandlers.onPointerdown(createPointerEvent('pointerdown', samePos))
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
const clickUpEvent = createPointerEvent('pointerup', samePos)
|
const clickUpEvent = createPointerEvent('pointerup', samePos)
|
||||||
pointerHandlers.onPointerup(clickUpEvent)
|
pointerHandlers.onPointerup(clickUpEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
expect(mockOnPointerUp).toHaveBeenCalledWith(
|
||||||
clickUpEvent,
|
clickUpEvent,
|
||||||
@@ -153,6 +147,9 @@ describe('useNodePointerInteractions', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('should handle drag termination via cancel and context menu', async () => {
|
it('should handle drag termination via cancel and context menu', async () => {
|
||||||
|
const mockNodeData = createMockVueNodeData()
|
||||||
|
const mockOnPointerUp = vi.fn()
|
||||||
|
|
||||||
const { pointerHandlers } = useNodePointerInteractions(
|
const { pointerHandlers } = useNodePointerInteractions(
|
||||||
ref(mockNodeData),
|
ref(mockNodeData),
|
||||||
mockOnPointerUp
|
mockOnPointerUp
|
||||||
@@ -160,50 +157,49 @@ describe('useNodePointerInteractions', () => {
|
|||||||
|
|
||||||
// Test pointer cancel
|
// Test pointer cancel
|
||||||
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
||||||
await nextTick()
|
|
||||||
pointerHandlers.onPointercancel(createPointerEvent('pointercancel'))
|
pointerHandlers.onPointercancel(createPointerEvent('pointercancel'))
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
// Should not emit callback on cancel
|
// Should not emit callback on cancel
|
||||||
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
||||||
|
|
||||||
// Test context menu during drag prevents default
|
// Test context menu during drag prevents default
|
||||||
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
const contextMenuEvent = createMouseEvent('contextmenu')
|
const contextMenuEvent = createMouseEvent('contextmenu')
|
||||||
const preventDefaultSpy = vi.spyOn(contextMenuEvent, 'preventDefault')
|
const preventDefaultSpy = vi.spyOn(contextMenuEvent, 'preventDefault')
|
||||||
|
|
||||||
pointerHandlers.onContextmenu(contextMenuEvent)
|
pointerHandlers.onContextmenu(contextMenuEvent)
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(preventDefaultSpy).toHaveBeenCalled()
|
expect(preventDefaultSpy).toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should not emit callback when nodeData becomes null', async () => {
|
it('should not emit callback when nodeData becomes null', async () => {
|
||||||
|
const mockNodeData = createMockVueNodeData()
|
||||||
|
const mockOnPointerUp = vi.fn()
|
||||||
const nodeDataRef = ref<VueNodeData | null>(mockNodeData)
|
const nodeDataRef = ref<VueNodeData | null>(mockNodeData)
|
||||||
|
|
||||||
const { pointerHandlers } = useNodePointerInteractions(
|
const { pointerHandlers } = useNodePointerInteractions(
|
||||||
nodeDataRef,
|
nodeDataRef,
|
||||||
mockOnPointerUp
|
mockOnPointerUp
|
||||||
)
|
)
|
||||||
|
|
||||||
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
pointerHandlers.onPointerdown(createPointerEvent('pointerdown'))
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
// Clear nodeData before pointerup
|
// Clear nodeData before pointerup
|
||||||
nodeDataRef.value = null
|
nodeDataRef.value = null
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
pointerHandlers.onPointerup(createPointerEvent('pointerup'))
|
pointerHandlers.onPointerup(createPointerEvent('pointerup'))
|
||||||
await nextTick()
|
|
||||||
|
|
||||||
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
expect(mockOnPointerUp).not.toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should integrate with layout store dragging state', async () => {
|
it('should integrate with layout store dragging state', async () => {
|
||||||
|
const mockNodeData = createMockVueNodeData()
|
||||||
|
const mockOnPointerUp = vi.fn()
|
||||||
const { layoutStore } = await import(
|
const { layoutStore } = await import(
|
||||||
'@/renderer/core/layout/store/layoutStore'
|
'@/renderer/core/layout/store/layoutStore'
|
||||||
)
|
)
|
||||||
|
|
||||||
const { pointerHandlers } = useNodePointerInteractions(
|
const { pointerHandlers } = useNodePointerInteractions(
|
||||||
ref(mockNodeData),
|
ref(mockNodeData),
|
||||||
mockOnPointerUp
|
mockOnPointerUp
|
||||||
|
|||||||
Reference in New Issue
Block a user