Add missing dialog tests (#11133)

Leveraging the fancy coverage functionality of #10930, this PR aims to
add coverage to missing dialogue models.

This has proven quite constructive as many of the dialogues have since
been shown to be bugged.
- The APINodes sign in dialog that displays when attempting to run a
workflow containing Partner nodes while not logged in was intended to
display a list of nodes required to execute the workflow. The import for
this component was forgotten in the original commit (#3532) and the
backing component was later knipped
- Error dialogs resulting are intended to display the file responsible
for the error, but the prop was accidentally left out during the
refactoring of #3265
- ~~The node library migration (#8548) failed to include the 'Edit
Blueprint' button, and had incorrect sizing and color on the 'Delete
Blueprint' button.~~
- On request, the library button changes were spun out to a separate PR

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-11133-Add-missing-dialog-tests-33e6d73d3650812cb142d610461adcd4)
by [Unito](https://www.unito.io)

---------

Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
AustinMroz
2026-04-14 14:31:31 -07:00
committed by GitHub
parent 25ac047b58
commit 988a546721
15 changed files with 356 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ import type {
CanvasPointerEvent,
Subgraph
} from '@/lib/litegraph/src/litegraph'
import type { ComfyWorkflow } from '@/platform/workflow/management/stores/comfyWorkflow'
import type { ComfyWorkflowJSON } from '@/platform/workflow/validation/schemas/workflowSchema'
import type { ComfyPage } from '@e2e/fixtures/ComfyPage'
@@ -514,6 +515,23 @@ export class SubgraphHelper {
})
await this.comfyPage.nextFrame()
}
async publishSubgraph(name: string = 'test blueprint') {
await this.comfyPage.command.executeCommand('Comfy.PublishSubgraph', {
name
})
}
//Blueprints will show an overwrite confirmation dialogue if they have not
//already been saved during the active session.
//Forcibly reset this flag without an expensive reload operation.
async setSaveUnpromptedOnActiveBlueprint() {
await this.page.evaluate(() => {
const { activeWorkflow } = window.app!.extensionManager.workflow
;(
activeWorkflow as ComfyWorkflow & { hasPromptedSave: boolean }
).hasPromptedSave = false
})
}
static getTextSlotPosition(page: Page, nodeId: string) {
return page.evaluate((id) => {