mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 14:30:41 +00:00
fix: replace screenshot tests with behavioral assertions in badge E2E
Screenshot tests require Linux golden images that don't exist yet. Replace with functional assertions: filter chip add/remove and node library tree badge visibility.
This commit is contained in:
@@ -2,80 +2,48 @@ import { expect } from '@playwright/test'
|
||||
|
||||
import { comfyPageFixture as test } from '../fixtures/ComfyPage'
|
||||
|
||||
test.describe(
|
||||
'Badge visual regression',
|
||||
{ tag: ['@screenshot', '@ui'] },
|
||||
() => {
|
||||
test.describe('SearchFilterChip badge', () => {
|
||||
test.beforeEach(async ({ comfyPage }) => {
|
||||
await comfyPage.settings.setSetting(
|
||||
'Comfy.NodeSearchBoxImpl',
|
||||
'v1 (legacy)'
|
||||
)
|
||||
await comfyPage.toast.closeToasts()
|
||||
})
|
||||
|
||||
test('Single filter chip renders correctly', async ({ comfyPage }) => {
|
||||
await comfyPage.canvasOps.doubleClick()
|
||||
await expect(comfyPage.searchBox.input).toBeVisible()
|
||||
await comfyPage.searchBox.addFilter('CONDITIONING', 'Input Type')
|
||||
|
||||
const searchContainer = comfyPage.page.locator(
|
||||
'.comfy-vue-node-search-container'
|
||||
)
|
||||
await expect(searchContainer).toHaveScreenshot(
|
||||
'filter-chip-conditioning.png'
|
||||
)
|
||||
})
|
||||
|
||||
test('Multiple filter chips render correctly', async ({ comfyPage }) => {
|
||||
await comfyPage.canvasOps.doubleClick()
|
||||
await expect(comfyPage.searchBox.input).toBeVisible()
|
||||
await comfyPage.searchBox.addFilter('MODEL', 'Input Type')
|
||||
await comfyPage.searchBox.addFilter('CLIP', 'Output Type')
|
||||
|
||||
const searchContainer = comfyPage.page.locator(
|
||||
'.comfy-vue-node-search-container'
|
||||
)
|
||||
await expect(searchContainer).toHaveScreenshot(
|
||||
'filter-chips-multiple.png'
|
||||
)
|
||||
})
|
||||
|
||||
test('Filter chip remove button removes the chip', async ({
|
||||
comfyPage
|
||||
}) => {
|
||||
await comfyPage.canvasOps.doubleClick()
|
||||
await expect(comfyPage.searchBox.input).toBeVisible()
|
||||
await comfyPage.searchBox.addFilter('MODEL', 'Input Type')
|
||||
await expect(comfyPage.searchBox.filterChips).toHaveCount(1)
|
||||
|
||||
await comfyPage.searchBox.removeFilter(0)
|
||||
await expect(comfyPage.searchBox.filterChips).toHaveCount(0)
|
||||
})
|
||||
test.describe('Badge migration', { tag: '@ui' }, () => {
|
||||
test.describe('SearchFilterChip', () => {
|
||||
test.beforeEach(async ({ comfyPage }) => {
|
||||
await comfyPage.settings.setSetting(
|
||||
'Comfy.NodeSearchBoxImpl',
|
||||
'v1 (legacy)'
|
||||
)
|
||||
await comfyPage.toast.closeToasts()
|
||||
})
|
||||
|
||||
test.describe('Node library tree badge', () => {
|
||||
test('Folder node count badge renders correctly', async ({
|
||||
comfyPage
|
||||
}) => {
|
||||
await comfyPage.toast.closeToasts()
|
||||
test('Filter chip remove button removes the chip', async ({
|
||||
comfyPage
|
||||
}) => {
|
||||
await comfyPage.canvasOps.doubleClick()
|
||||
await expect(comfyPage.searchBox.input).toBeVisible()
|
||||
await comfyPage.searchBox.addFilter('MODEL', 'Input Type')
|
||||
await expect(comfyPage.searchBox.filterChips).toHaveCount(1)
|
||||
|
||||
const sidebarButton = comfyPage.page.getByRole('button', {
|
||||
name: 'Node Library'
|
||||
})
|
||||
await sidebarButton.click()
|
||||
|
||||
const sidebar = comfyPage.page.getByRole('complementary', {
|
||||
name: 'Sidebar'
|
||||
})
|
||||
await sidebar
|
||||
.getByRole('treeitem')
|
||||
.first()
|
||||
.waitFor({ state: 'visible', timeout: 10000 })
|
||||
|
||||
await expect(sidebar).toHaveScreenshot('node-library-tree-badges.png')
|
||||
})
|
||||
await comfyPage.searchBox.removeFilter(0)
|
||||
await expect(comfyPage.searchBox.filterChips).toHaveCount(0)
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
test.describe('Node library tree badge', () => {
|
||||
test('Folder shows node count badge', async ({ comfyPage }) => {
|
||||
await comfyPage.toast.closeToasts()
|
||||
|
||||
const sidebarButton = comfyPage.page.getByRole('button', {
|
||||
name: 'Node Library'
|
||||
})
|
||||
await sidebarButton.click()
|
||||
|
||||
const sidebar = comfyPage.page.getByRole('complementary', {
|
||||
name: 'Sidebar'
|
||||
})
|
||||
await sidebar
|
||||
.getByRole('treeitem')
|
||||
.first()
|
||||
.waitFor({ state: 'visible', timeout: 10000 })
|
||||
|
||||
const badges = sidebar.locator('[data-testid="node-tree-folder"] span')
|
||||
await expect(badges.first()).toBeVisible()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user