mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-21 07:14:11 +00:00
Fixes test "should toggle LOD based on zoom threshold" failing (example: https://github.com/Comfy-Org/ComfyUI_frontend/actions/runs/19618176782/job/56174006314). Test execution order: 1. Sets MinFontSizeForLOD = 8 2. Calls setup() 3. App initializes → useVueNodeLifecycle runs → useRenderModeSetting executes with immediate: true 4. Overrides setting back to 0 (Vue mode value) 5. LOD never activates (threshold = 0) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6884-fix-ordering-of-Vue-mode-LOD-setting-initialization-in-browser-tests-2b56d73d365081209676fb14d2c04d28) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions <github-actions@github.com>
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { expect } from '@playwright/test'
|
|
|
|
import { comfyPageFixture as test } from '../../../fixtures/ComfyPage'
|
|
|
|
test.beforeEach(async ({ comfyPage }) => {
|
|
await comfyPage.setSetting('Comfy.UseNewMenu', 'Disabled')
|
|
})
|
|
|
|
test.describe('Vue Nodes - LOD', () => {
|
|
test.beforeEach(async ({ comfyPage }) => {
|
|
await comfyPage.setSetting('Comfy.VueNodes.Enabled', true)
|
|
await comfyPage.setup()
|
|
await comfyPage.loadWorkflow('default')
|
|
await comfyPage.setSetting('LiteGraph.Canvas.MinFontSizeForLOD', 8)
|
|
})
|
|
|
|
test('should toggle LOD based on zoom threshold', async ({ comfyPage }) => {
|
|
await comfyPage.vueNodes.waitForNodes()
|
|
|
|
const initialNodeCount = await comfyPage.vueNodes.getNodeCount()
|
|
expect(initialNodeCount).toBeGreaterThan(0)
|
|
|
|
await expect(comfyPage.canvas).toHaveScreenshot('vue-nodes-default.png')
|
|
|
|
const vueNodesContainer = comfyPage.vueNodes.nodes
|
|
const textboxesInNodes = vueNodesContainer.getByRole('textbox')
|
|
const comboboxesInNodes = vueNodesContainer.getByRole('combobox')
|
|
|
|
await expect(textboxesInNodes.first()).toBeVisible()
|
|
await expect(comboboxesInNodes.first()).toBeVisible()
|
|
|
|
await comfyPage.zoom(120, 10)
|
|
await comfyPage.nextFrame()
|
|
|
|
await expect(comfyPage.canvas).toHaveScreenshot('vue-nodes-lod-active.png')
|
|
|
|
await expect(textboxesInNodes.first()).toBeHidden()
|
|
await expect(comboboxesInNodes.first()).toBeHidden()
|
|
|
|
await comfyPage.zoom(-120, 10)
|
|
await comfyPage.nextFrame()
|
|
|
|
await expect(comfyPage.canvas).toHaveScreenshot(
|
|
'vue-nodes-lod-inactive.png'
|
|
)
|
|
await expect(textboxesInNodes.first()).toBeVisible()
|
|
await expect(comboboxesInNodes.first()).toBeVisible()
|
|
})
|
|
})
|