test: add Playwright test for LoadImage subgraph preview promotion

Verifies that converting a LoadImage node to a subgraph produces the
$$canvas-image-preview pseudo-widget in the subgraph node's
proxyWidgets, confirming the fix in canvasImagePreviewTypes.ts.
This commit is contained in:
bymyself
2026-03-25 13:55:12 -07:00
parent 65fb3483fc
commit da74bd3997

View File

@@ -8,7 +8,8 @@ import { fitToViewInstant } from '../helpers/fitToView'
import {
getPromotedWidgetNames,
getPromotedWidgetCount,
getPromotedWidgets
getPromotedWidgets,
getPseudoPreviewWidgets
} from '../helpers/promotedWidgets'
test.describe(
@@ -93,6 +94,33 @@ test.describe(
// SaveImage is in the recommendedNodes list, so filename_prefix is promoted
expect(promotedNames).toContain('filename_prefix')
})
test('LoadImage node gets $$canvas-image-preview pseudo-widget promoted', async ({
comfyPage
}) => {
// Add a LoadImage node to the graph
const loadImageNodeId = await comfyPage.page.evaluate(() => {
const graph = window.app!.graph!
const node = window.LiteGraph!.createNode('LoadImage')!
node.pos = [300, 300]
graph.add(node)
return String(node.id)
})
await comfyPage.nextFrame()
const loadImageNode =
await comfyPage.nodeOps.getNodeRefById(loadImageNodeId)
await loadImageNode.click('title')
const subgraphNode = await loadImageNode.convertToSubgraph()
await comfyPage.nextFrame()
const nodeId = String(subgraphNode.id)
const pseudoWidgets = await getPseudoPreviewWidgets(comfyPage, nodeId)
expect(pseudoWidgets.length).toBeGreaterThan(0)
expect(
pseudoWidgets.some(([, name]) => name === '$$canvas-image-preview')
).toBe(true)
})
})
test.describe('Promoted Widget Visibility in LiteGraph Mode', () => {