mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-09 01:20:09 +00:00
Styling was moved to the sidebar element for better organization, but this caused errors when the new menu was not in use.
65 lines
2.7 KiB
TypeScript
65 lines
2.7 KiB
TypeScript
import { expect } from '@playwright/test'
|
|
import { comfyPageFixture as test } from './ComfyPage'
|
|
|
|
test.describe('Documentation Sidebar', () => {
|
|
test.beforeEach(async ({ comfyPage }) => {
|
|
await comfyPage.setSetting('Comfy.UseNewMenu', 'Floating')
|
|
await comfyPage.loadWorkflow('default')
|
|
})
|
|
|
|
test.afterEach(async ({ comfyPage }) => {
|
|
const currentThemeId = await comfyPage.menu.getThemeId()
|
|
if (currentThemeId !== 'dark') {
|
|
await comfyPage.menu.toggleTheme()
|
|
}
|
|
await comfyPage.setSetting('Comfy.UseNewMenu', 'Disabled')
|
|
})
|
|
|
|
test('Sidebar registered', async ({ comfyPage }) => {
|
|
await expect(
|
|
comfyPage.page.locator('.documentationSidebar-tab-button')
|
|
).toBeVisible()
|
|
})
|
|
test('Parses help for basic node', async ({ comfyPage }) => {
|
|
await comfyPage.page.locator('.documentationSidebar-tab-button').click()
|
|
const docPane = comfyPage.page.locator('.sidebar-content-container')
|
|
//Check that each independently parsed element exists
|
|
await expect(docPane).toContainText('Load Checkpoint')
|
|
await expect(docPane).toContainText('Loads a diffusion model')
|
|
await expect(docPane).toContainText('The name of the checkpoint')
|
|
await expect(docPane).toContainText('The VAE model used')
|
|
})
|
|
test('Responds to hovering over node', async ({ comfyPage }) => {
|
|
await comfyPage.page.locator('.documentationSidebar-tab-button').click()
|
|
const docPane = comfyPage.page.locator('.sidebar-content-container')
|
|
await comfyPage.page.mouse.move(321, 593)
|
|
const tooltipTimeout = 500
|
|
await comfyPage.page.waitForTimeout(tooltipTimeout + 16)
|
|
await expect(comfyPage.page.locator('.node-tooltip')).not.toBeVisible()
|
|
await expect(
|
|
comfyPage.page.locator(
|
|
'.side-bar-panel > div > div > div > div:nth-child(4)'
|
|
)
|
|
).toBeFocused()
|
|
})
|
|
test('Updates when a new node is selected', async ({ comfyPage }) => {
|
|
await comfyPage.page.locator('.documentationSidebar-tab-button').click()
|
|
const docPane = comfyPage.page.locator('.sidebar-content-container')
|
|
await comfyPage.page.mouse.click(557, 440)
|
|
await expect(docPane).not.toContainText('Load Checkpoint')
|
|
await expect(docPane).toContainText('CLIP Text Encode (Prompt)')
|
|
await expect(docPane).toContainText('The text to be encoded')
|
|
await expect(docPane).toContainText(
|
|
'A conditioning containing the embedded text'
|
|
)
|
|
})
|
|
test('Responds to a change in theme', async ({ comfyPage }) => {
|
|
await comfyPage.page.locator('.documentationSidebar-tab-button').click()
|
|
const docPane = comfyPage.page.locator('.sidebar-content-container')
|
|
comfyPage.menu.toggleTheme()
|
|
await expect(docPane).toHaveScreenshot(
|
|
'documentation-sidebar-light-theme.png'
|
|
)
|
|
})
|
|
})
|