Files
ComfyUI_frontend/browser_tests/tests/propertiesPanel/propertiesPanel.spec.ts
bymyself 40961820d0 fix: use selectFirstNodeByTitles to avoid strict mode violations
The default workflow has 2 CLIP Text Encode (Prompt) nodes.
Using selectNodes(['KSampler', 'CLIP Text Encode (Prompt)']) selected
all 3 nodes (1 KSampler + 2 CLIP) instead of just 2.

Added selectFirstNodeByTitles helper that only selects the first
matching node for each title, avoiding strict mode violations.

Amp-Thread-ID: https://ampcode.com/threads/T-019c177d-06bf-779a-9c72-51a3626e4659
2026-01-31 20:50:20 -08:00

37 lines
1.2 KiB
TypeScript

import { expect } from '@playwright/test'
import { comfyPageFixture as test } from '../../fixtures/ComfyPage'
test.describe('Properties panel', () => {
test('opens and updates title based on selection', async ({ comfyPage }) => {
await comfyPage.actionbar.propertiesButton.click()
const { propertiesPanel } = comfyPage
await expect(propertiesPanel.panelTitle).toContainText('Workflow Overview')
await comfyPage.selectFirstNodeByTitles([
'KSampler',
'CLIP Text Encode (Prompt)'
])
await expect(propertiesPanel.panelTitle).toContainText('items selected')
await expect(propertiesPanel.root.getByText('KSampler')).toHaveCount(1)
await expect(
propertiesPanel.root.getByText('CLIP Text Encode (Prompt)').first()
).toBeVisible()
await propertiesPanel.searchBox.fill('seed')
await expect(propertiesPanel.root.getByText('KSampler')).toHaveCount(1)
await expect(
propertiesPanel.root.getByText('CLIP Text Encode (Prompt)')
).toHaveCount(0)
await propertiesPanel.searchBox.fill('')
await expect(propertiesPanel.root.getByText('KSampler')).toHaveCount(1)
await expect(
propertiesPanel.root.getByText('CLIP Text Encode (Prompt)').first()
).toBeVisible()
})
})