mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-03 22:59:14 +00:00
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { comfyPageFixture as test } from '../../../../fixtures/comfyPageFixture'
|
|
import { comfyExpect as expect } from '../../../../fixtures/ComfyPage'
|
|
import type { ComfyPage } from '../../../../fixtures/ComfyPage'
|
|
|
|
test.describe('Vue Multiline String Widget', () => {
|
|
test.beforeEach(async ({ comfyPage }) => {
|
|
await comfyPage.setSetting('Comfy.VueNodes.Enabled', true)
|
|
await comfyPage.vueNodes.waitForNodes()
|
|
})
|
|
|
|
const getFirstClipNode = (comfyPage: ComfyPage) =>
|
|
comfyPage.vueNodes.getNodeByTitle('CLIP Text Encode (Prompt)').first()
|
|
|
|
const getFirstMultilineStringWidget = (comfyPage: ComfyPage) =>
|
|
getFirstClipNode(comfyPage).getByRole('textbox', { name: 'text' })
|
|
|
|
test('should allow entering text', async ({ comfyPage }) => {
|
|
const textarea = getFirstMultilineStringWidget(comfyPage)
|
|
await textarea.fill('Hello World')
|
|
await expect(textarea).toHaveValue('Hello World')
|
|
await textarea.fill('Hello World 2')
|
|
await expect(textarea).toHaveValue('Hello World 2')
|
|
})
|
|
|
|
test('should support entering multiline content', async ({ comfyPage }) => {
|
|
const textarea = getFirstMultilineStringWidget(comfyPage)
|
|
|
|
const multilineValue = ['Line 1', 'Line 2', 'Line 3'].join('\n')
|
|
|
|
await textarea.fill(multilineValue)
|
|
await expect(textarea).toHaveValue(multilineValue)
|
|
})
|
|
|
|
test('should retain value after focus changes', async ({ comfyPage }) => {
|
|
const textarea = getFirstMultilineStringWidget(comfyPage)
|
|
|
|
await textarea.fill('Keep me around')
|
|
|
|
// Click another node
|
|
const loadCheckpointNode =
|
|
comfyPage.vueNodes.getNodeByTitle('Load Checkpoint')
|
|
await loadCheckpointNode.click()
|
|
await getFirstClipNode(comfyPage).click()
|
|
|
|
await expect(textarea).toHaveValue('Keep me around')
|
|
})
|
|
})
|