From 1215cb467043fd0ecb7f4b88f07b115cb5f01f1e Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Sun, 28 Sep 2025 12:35:08 -0700 Subject: [PATCH] [test] add test to verify panning on touch devices works as expected with Vue renderer (#5833) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Added mobile touch pan interaction test for Vue nodes canvas functionality. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5833-test-add-test-to-verify-panning-on-touch-devices-works-as-expected-with-Vue-renderer-27c6d73d3650810ebe01c0f7711670b9) by [Unito](https://www.unito.io) --------- Co-authored-by: github-actions --- .../vueNodes/interactions/canvas/pan.spec.ts | 18 ++++++++++++++++++ ...s-paned-with-touch-mobile-chrome-linux.png | Bin 0 -> 10579 bytes 2 files changed, 18 insertions(+) create mode 100644 browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts create mode 100644 browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png diff --git a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts new file mode 100644 index 000000000..a91a9b928 --- /dev/null +++ b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts @@ -0,0 +1,18 @@ +import { + comfyExpect as expect, + comfyPageFixture as test +} from '../../../../fixtures/ComfyPage' + +test.describe('Vue Nodes Canvas Pan', () => { + test.beforeEach(async ({ comfyPage }) => { + await comfyPage.setSetting('Comfy.VueNodes.Enabled', true) + await comfyPage.vueNodes.waitForNodes() + }) + + test('@mobile Can pan with touch', async ({ comfyPage }) => { + await comfyPage.panWithTouch({ x: 64, y: 64 }, { x: 256, y: 256 }) + await expect(comfyPage.canvas).toHaveScreenshot( + 'vue-nodes-paned-with-touch.png' + ) + }) +}) diff --git a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a0c000dc6b28239bcb080e31b289ebf744b345 GIT binary patch literal 10579 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 B1Cam# literal 0 HcmV?d00001