mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-05 15:40:10 +00:00
Phase 2 of ComfyPage refactor: - Add ToastHelper, DragDropHelper, CommandHelper instances to ComfyPage - Remove migrated methods from ComfyPage (command, toast, dragDrop, workflow, canvasOps, nodeOps methods) - Update all test files to use new helper paths - Keep visibleToasts as passthrough getter for backward compatibility Amp-Thread-ID: https://ampcode.com/threads/T-019c1666-ed27-773c-976a-07cc805d7a6c Co-authored-by: Amp <amp@ampcode.com>
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
import { expect } from '@playwright/test'
|
|
|
|
import { comfyPageFixture as test } from '../fixtures/ComfyPage'
|
|
|
|
test.beforeEach(async ({ comfyPage }) => {
|
|
await comfyPage.settings.setSetting('Comfy.UseNewMenu', 'Disabled')
|
|
})
|
|
|
|
test.describe('Keybindings', { tag: '@keyboard' }, () => {
|
|
test('Should not trigger non-modifier keybinding when typing in input fields', async ({
|
|
comfyPage
|
|
}) => {
|
|
await comfyPage.command.registerKeybinding({ key: 'k' }, () => {
|
|
window['TestCommand'] = true
|
|
})
|
|
|
|
const textBox = comfyPage.widgetTextBox
|
|
await textBox.click()
|
|
await textBox.fill('k')
|
|
await expect(textBox).toHaveValue('k')
|
|
expect(await comfyPage.page.evaluate(() => window['TestCommand'])).toBe(
|
|
undefined
|
|
)
|
|
})
|
|
|
|
test('Should not trigger modifier keybinding when typing in input fields', async ({
|
|
comfyPage
|
|
}) => {
|
|
await comfyPage.command.registerKeybinding({ key: 'k', ctrl: true }, () => {
|
|
window['TestCommand'] = true
|
|
})
|
|
|
|
const textBox = comfyPage.widgetTextBox
|
|
await textBox.click()
|
|
await textBox.fill('q')
|
|
await textBox.press('Control+k')
|
|
await expect(textBox).toHaveValue('q')
|
|
expect(await comfyPage.page.evaluate(() => window['TestCommand'])).toBe(
|
|
true
|
|
)
|
|
})
|
|
|
|
test('Should not trigger keybinding reserved by text input when typing in input fields', async ({
|
|
comfyPage
|
|
}) => {
|
|
await comfyPage.command.registerKeybinding({ key: 'Ctrl+v' }, () => {
|
|
window['TestCommand'] = true
|
|
})
|
|
|
|
const textBox = comfyPage.widgetTextBox
|
|
await textBox.click()
|
|
await textBox.press('Control+v')
|
|
await expect(textBox).toBeFocused()
|
|
expect(await comfyPage.page.evaluate(() => window['TestCommand'])).toBe(
|
|
undefined
|
|
)
|
|
})
|
|
})
|