mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-04 23:20:07 +00:00
78 lines
2.6 KiB
TypeScript
78 lines
2.6 KiB
TypeScript
import { expect } from "@playwright/test";
|
|
import { ComfyPage, comfyPageFixture as test } from "./ComfyPage";
|
|
|
|
test.describe("Node Interaction", () => {
|
|
test("Can enter prompt", async ({ comfyPage }) => {
|
|
const textBox = comfyPage.widgetTextBox;
|
|
await textBox.click();
|
|
await textBox.fill("Hello World");
|
|
await expect(textBox).toHaveValue("Hello World");
|
|
await textBox.fill("Hello World 2");
|
|
await expect(textBox).toHaveValue("Hello World 2");
|
|
});
|
|
|
|
test("Can highlight selected", async ({ comfyPage }) => {
|
|
await expect(comfyPage.canvas).toHaveScreenshot("default.png");
|
|
await comfyPage.clickTextEncodeNode1();
|
|
await expect(comfyPage.canvas).toHaveScreenshot("selected-node1.png");
|
|
await comfyPage.clickTextEncodeNode2();
|
|
await expect(comfyPage.canvas).toHaveScreenshot("selected-node2.png");
|
|
});
|
|
|
|
// Flaky. See https://github.com/comfyanonymous/ComfyUI/issues/3866
|
|
test.skip("Can drag node", async ({ comfyPage }) => {
|
|
await comfyPage.dragNode2();
|
|
await expect(comfyPage.canvas).toHaveScreenshot("dragged-node1.png");
|
|
});
|
|
|
|
test("Can disconnect/connect edge", async ({ comfyPage }) => {
|
|
await comfyPage.disconnectEdge();
|
|
await expect(comfyPage.canvas).toHaveScreenshot(
|
|
"disconnected-edge-with-menu.png"
|
|
);
|
|
await comfyPage.connectEdge();
|
|
// Litegraph renders edge with a slight offset.
|
|
await expect(comfyPage.canvas).toHaveScreenshot("default.png", {
|
|
maxDiffPixels: 50,
|
|
});
|
|
});
|
|
|
|
test("Can adjust widget value", async ({ comfyPage }) => {
|
|
await comfyPage.adjustWidgetValue();
|
|
await expect(comfyPage.canvas).toHaveScreenshot(
|
|
"adjusted-widget-value.png"
|
|
);
|
|
});
|
|
|
|
test("Link snap to slot", async ({ comfyPage }) => {
|
|
await comfyPage.loadWorkflow("snap_to_slot");
|
|
await expect(comfyPage.canvas).toHaveScreenshot("snap_to_slot.png");
|
|
|
|
const outputSlotPos = {
|
|
x: 406,
|
|
y: 333,
|
|
};
|
|
const samplerNodeCenterPos = {
|
|
x: 748,
|
|
y: 77,
|
|
};
|
|
await comfyPage.dragAndDrop(outputSlotPos, samplerNodeCenterPos);
|
|
|
|
await expect(comfyPage.canvas).toHaveScreenshot("snap_to_slot_linked.png");
|
|
});
|
|
});
|
|
|
|
test.describe("Canvas Interaction", () => {
|
|
test("Can zoom in/out", async ({ comfyPage }) => {
|
|
await comfyPage.zoom(-100);
|
|
await expect(comfyPage.canvas).toHaveScreenshot("zoomed-in.png");
|
|
await comfyPage.zoom(200);
|
|
await expect(comfyPage.canvas).toHaveScreenshot("zoomed-out.png");
|
|
});
|
|
|
|
test("Can pan", async ({ comfyPage }) => {
|
|
await comfyPage.pan({ x: 200, y: 200 });
|
|
await expect(comfyPage.canvas).toHaveScreenshot("panned.png");
|
|
});
|
|
});
|