mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 18:52:19 +00:00
[test] add browser test for missing vue nodes error state (#5768)
## Summary Added browser test to verify Vue nodes display error state when workflow contains missing/unknown nodes, complementing - https://github.com/Comfy-Org/ComfyUI_frontend/pull/5758 ## Changes - **What**: Added [Playwright test](https://playwright.dev/docs/writing-tests) for Vue nodes error state handling with missing nodes - **Test Coverage**: Validates `border-error` class application on nodes with `UNKNOWN NODE` text ## Review Focus Test reliability when loading workflows with missing nodes and dialog interaction timing. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5768-test-add-browser-test-for-missing-vue-nodes-error-state-2796d73d365081aea187cdbc7920a643) by [Unito](https://www.unito.io)
This commit is contained in:
@@ -3,10 +3,6 @@ import {
|
|||||||
comfyPageFixture as test
|
comfyPageFixture as test
|
||||||
} from '../../../fixtures/ComfyPage'
|
} from '../../../fixtures/ComfyPage'
|
||||||
|
|
||||||
test.beforeEach(async ({ comfyPage }) => {
|
|
||||||
await comfyPage.setSetting('Comfy.UseNewMenu', 'Disabled')
|
|
||||||
})
|
|
||||||
|
|
||||||
const BYPASS_HOTKEY = 'Control+b'
|
const BYPASS_HOTKEY = 'Control+b'
|
||||||
const BYPASS_CLASS = /before:bg-bypass\/60/
|
const BYPASS_CLASS = /before:bg-bypass\/60/
|
||||||
|
|
||||||
|
|||||||
32
browser_tests/tests/vueNodes/nodeStates/error.spec.ts
Normal file
32
browser_tests/tests/vueNodes/nodeStates/error.spec.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import {
|
||||||
|
comfyExpect as expect,
|
||||||
|
comfyPageFixture as test
|
||||||
|
} from '../../../fixtures/ComfyPage'
|
||||||
|
|
||||||
|
const ERROR_CLASS = /border-error/
|
||||||
|
|
||||||
|
test.describe('Vue Node Error', () => {
|
||||||
|
test.beforeEach(async ({ comfyPage }) => {
|
||||||
|
await comfyPage.setSetting('Comfy.VueNodes.Enabled', true)
|
||||||
|
await comfyPage.vueNodes.waitForNodes()
|
||||||
|
})
|
||||||
|
|
||||||
|
test('should display error state when node is missing (node from workflow is not installed)', async ({
|
||||||
|
comfyPage
|
||||||
|
}) => {
|
||||||
|
await comfyPage.setup()
|
||||||
|
await comfyPage.loadWorkflow('missing/missing_nodes')
|
||||||
|
|
||||||
|
// Close missing nodes warning dialog
|
||||||
|
await comfyPage.page.getByRole('button', { name: 'Close' }).click()
|
||||||
|
await comfyPage.page.waitForSelector('.comfy-missing-nodes', {
|
||||||
|
state: 'hidden'
|
||||||
|
})
|
||||||
|
|
||||||
|
// Expect error state on missing unknown node
|
||||||
|
const unknownNode = comfyPage.page.locator('[data-node-id]').filter({
|
||||||
|
hasText: 'UNKNOWN NODE'
|
||||||
|
})
|
||||||
|
await expect(unknownNode).toHaveClass(ERROR_CLASS)
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user