import { expect } from '@playwright/test'; import { comfyPageFixture as test } from './ComfyPage'; test.describe('Canvas Right Click Menu', () => { // See https://github.com/comfyanonymous/ComfyUI/issues/3883 // Right-click menu on canvas's option sequence is not stable. test.skip('Can add node', async ({ comfyPage }) => { await comfyPage.rightClickCanvas(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-menu.png'); await comfyPage.page.getByText('Add Node').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('add-node-menu.png'); await comfyPage.page.getByText('loaders').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('add-node-menu-loaders.png'); await comfyPage.page.getByText('Load VAE').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('add-node-node-added.png'); }); // See https://github.com/comfyanonymous/ComfyUI/issues/3883 // Right-click menu on canvas's option sequence is not stable. test.skip('Can add group', async ({ comfyPage }) => { await comfyPage.rightClickCanvas(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-menu.png'); await comfyPage.page.getByText('Add Group', { exact: true }).click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('add-group-group-added.png'); }); test('Can convert to group node', async ({ comfyPage }) => { await comfyPage.select2Nodes(); await expect(comfyPage.canvas).toHaveScreenshot('selected-2-nodes.png'); comfyPage.page.on('dialog', async dialog => { await dialog.accept("GroupNode2CLIP"); }); await comfyPage.rightClickCanvas(); await comfyPage.page.getByText('Convert to Group Node').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node-group-node.png'); }); }); test.describe('Node Right Click Menu', () => { test('Can open properties panel', async ({ comfyPage }) => { await comfyPage.rightClickEmptyLatentNode(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node.png'); await comfyPage.page.getByText('Properties Panel').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node-properties-panel.png'); }); test('Can collapse', async ({ comfyPage }) => { await comfyPage.rightClickEmptyLatentNode(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node.png'); await comfyPage.page.getByText('Collapse').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node-collapsed.png'); }); // See https://github.com/Comfy-Org/ComfyUI_frontend/pull/57 // Bypass produces different output on Windows VS Linux. test.skip('Can bypass', async ({ comfyPage }) => { await comfyPage.rightClickEmptyLatentNode(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node.png'); await comfyPage.page.getByText('Bypass').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node-bypassed.png'); }); test('Can convert widget to input', async ({ comfyPage }) => { await comfyPage.rightClickEmptyLatentNode(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node.png'); await comfyPage.page.getByText('Convert Widget to Input').click(); await comfyPage.nextFrame(); await comfyPage.page.getByText('Convert width to input').click(); await comfyPage.nextFrame(); await expect(comfyPage.canvas).toHaveScreenshot('right-click-node-widget-converted.png'); }); });