refactor: address PR #10629 review feedback

- Rename convertDefaultKSamplerToSubgraph to loadDefaultAndConvertKSamplerToSubgraph
- Remove redundant nextFrame() after convertToSubgraph (already called internally)
- Add dispose() calls after collectConsoleWarnings assertions
- Add explicit null guards on getSlotLabel() before non-null assertions

Amp-Thread-ID: https://ampcode.com/threads/T-019d3651-bd02-760c-9542-a2fbe03e051a
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Alexander Brown
2026-03-28 15:22:56 -07:00
parent a13c333cec
commit 1004547939
6 changed files with 17 additions and 11 deletions

View File

@@ -445,13 +445,11 @@ export class SubgraphHelper {
await this.comfyPage.nextFrame()
}
async convertDefaultKSamplerToSubgraph(): Promise<NodeReference> {
async loadDefaultAndConvertKSamplerToSubgraph(): Promise<NodeReference> {
await this.comfyPage.workflow.loadWorkflow('default')
const ksampler = await this.comfyPage.nodeOps.getNodeRefById('3')
await ksampler.click('title')
const subgraphNode = await ksampler.convertToSubgraph()
await this.comfyPage.nextFrame()
return subgraphNode
return ksampler.convertToSubgraph()
}
async packAllInteriorNodes(hostNodeId: string): Promise<void> {

View File

@@ -16,7 +16,7 @@ test.describe(
comfyPage
}) => {
const subgraphNode =
await comfyPage.subgraph.convertDefaultKSamplerToSubgraph()
await comfyPage.subgraph.loadDefaultAndConvertKSamplerToSubgraph()
// Enable Vue nodes now that the subgraph has been created
await comfyPage.settings.setSetting('Comfy.VueNodes.Enabled', true)

View File

@@ -107,6 +107,7 @@ test.describe('Subgraph Operations', { tag: ['@slow', '@subgraph'] }, () => {
await subgraphNode.navigateIntoSubgraph()
const initialInputLabel = await comfyPage.subgraph.getSlotLabel('input')
expect(initialInputLabel).not.toBeNull()
await comfyPage.subgraph.rightClickInputSlot(initialInputLabel!)
await comfyPage.contextMenu.clickLitegraphMenuItem('Rename Slot')
@@ -135,6 +136,7 @@ test.describe('Subgraph Operations', { tag: ['@slow', '@subgraph'] }, () => {
await subgraphNode.navigateIntoSubgraph()
const initialInputLabel = await comfyPage.subgraph.getSlotLabel('input')
expect(initialInputLabel).not.toBeNull()
await comfyPage.subgraph.doubleClickInputSlot(initialInputLabel!)
@@ -161,6 +163,7 @@ test.describe('Subgraph Operations', { tag: ['@slow', '@subgraph'] }, () => {
await subgraphNode.navigateIntoSubgraph()
const initialOutputLabel = await comfyPage.subgraph.getSlotLabel('output')
expect(initialOutputLabel).not.toBeNull()
await comfyPage.subgraph.doubleClickOutputSlot(initialOutputLabel!)
@@ -190,6 +193,7 @@ test.describe('Subgraph Operations', { tag: ['@slow', '@subgraph'] }, () => {
await subgraphNode.navigateIntoSubgraph()
const initialInputLabel = await comfyPage.subgraph.getSlotLabel('input')
expect(initialInputLabel).not.toBeNull()
// Test that right-click still works for renaming
await comfyPage.subgraph.rightClickInputSlot(initialInputLabel!)

View File

@@ -31,11 +31,14 @@ test.describe(
test('Loads without console warnings about failed widget resolution', async ({
comfyPage
}) => {
const { warnings } = SubgraphHelper.collectConsoleWarnings(comfyPage.page)
const { warnings, dispose } = SubgraphHelper.collectConsoleWarnings(
comfyPage.page
)
await comfyPage.workflow.loadWorkflow(WORKFLOW)
expect(warnings).toEqual([])
dispose()
})
test('Promoted widget renders with normalized name, not legacy prefix', async ({

View File

@@ -9,14 +9,15 @@ test.describe('Nested subgraph configure order', { tag: ['@subgraph'] }, () => {
test('Loads without "No link found" or "Failed to resolve legacy -1" console warnings', async ({
comfyPage
}) => {
const { warnings } = SubgraphHelper.collectConsoleWarnings(comfyPage.page, [
'No link found',
'Failed to resolve legacy -1'
])
const { warnings, dispose } = SubgraphHelper.collectConsoleWarnings(
comfyPage.page,
['No link found', 'Failed to resolve legacy -1']
)
await comfyPage.workflow.loadWorkflow(WORKFLOW)
expect(warnings).toEqual([])
dispose()
})
test('All three subgraph levels resolve promoted widgets', async ({

View File

@@ -5,7 +5,7 @@ import { comfyPageFixture as test } from '../fixtures/ComfyPage'
async function createSubgraphAndNavigateInto(comfyPage: ComfyPage) {
const subgraphNode =
await comfyPage.subgraph.convertDefaultKSamplerToSubgraph()
await comfyPage.subgraph.loadDefaultAndConvertKSamplerToSubgraph()
await subgraphNode.navigateIntoSubgraph()
return subgraphNode
}