import { readFileSync } from "node:fs"; import { resolve } from "node:path"; import { expect, test } from "@playwright/test"; function readSource(path: string) { return readFileSync(resolve(process.cwd(), path), "utf8"); } test.describe("canvas PSD template replacement entry", () => { test("keeps the selected-image toolbar action and launch flow wired", () => { const imageNode = readSource("components/canvas/nodes/ImageNode.tsx"); const workspace = readSource("components/canvas/CanvasWorkspace.tsx"); expect(imageNode).toContain( 'getCanvasToolbarItem(\n canvasToolbarConfig,\n "imagePsdTemplateReplace"' ); expect(imageNode).toContain('isSelectedImageActionInline("psdTemplate")'); expect(imageNode).toContain('isSelectedImageActionInMore("psdTemplate")'); expect(imageNode).toContain('handleAction("psd-template")'); expect(imageNode).toContain("handleOpenPsdTemplateReplace"); expect(imageNode).toContain("/psd-template?launch="); expect(workspace).toContain( 'requestImageNodeAction(selectedImageNodes[0].id, "psd-template")' ); }); });