feat(canvas): 画布工作台 - 新增生成副本并修复大型画布性能、素材同步与删除校验
统一图片与视频副本的生成落点并保留参考连接。\n优化大型画布节点虚拟化、媒体懒加载、拖拽与详情进入路径。\n修复素材主版本 ID 同步及删除时的画布独立引用校验。
This commit is contained in:
@@ -29,6 +29,33 @@ describe("workspace route loading", () => {
|
||||
expect(navigation).toContain("onFocus={() => preloadWorkspaceRoute(linkTo)}");
|
||||
});
|
||||
|
||||
test("uses the creation page as the root entry without legacy home or create routes", () => {
|
||||
const router = source("../src/router.tsx");
|
||||
const navigation = source("../src/components/layout/workspace-sidebar-nav.tsx");
|
||||
|
||||
expect(router).toContain('{ path: "/", element: <RequireAuth>{deferred(<CreatePage />)}</RequireAuth> }');
|
||||
expect(router).not.toContain('path: "/create"');
|
||||
expect(router).not.toContain('path: "/home"');
|
||||
expect(router).not.toContain("HomePage");
|
||||
expect(navigation).toContain('{ id: "home", title: "首页", icon: Home, to: "/" }');
|
||||
expect(navigation).not.toContain('to: "/create"');
|
||||
expect(navigation).not.toContain('to: "/home"');
|
||||
});
|
||||
|
||||
test("preloads canvas detail and paints opening feedback before navigation", () => {
|
||||
const modules = source("../src/lib/workspace-route-modules.ts");
|
||||
const router = source("../src/router.tsx");
|
||||
const canvasLibrary = source("../src/pages/canvas/index.tsx");
|
||||
const canvasCard = source("../src/components/canvas/canvas-folder-card.tsx");
|
||||
|
||||
expect(modules).toContain('loadCanvasProjectPage = () => import("@/pages/canvas/project")');
|
||||
expect(router).toContain("lazy(loadCanvasProjectPage)");
|
||||
expect(canvasLibrary).toContain("setOpeningProjectId(id)");
|
||||
expect(canvasLibrary).toContain("window.requestAnimationFrame(() => navigate(");
|
||||
expect(canvasCard).toContain("onPointerEnter={onPrefetch}");
|
||||
expect(canvasCard).toContain("正在打开");
|
||||
});
|
||||
|
||||
test("uses a quiet workspace skeleton for initial hydration", () => {
|
||||
const loader = source("../src/components/ui/aceternity/full-screen-loader.tsx");
|
||||
const css = source("../src/styles/globals.css");
|
||||
|
||||
Reference in New Issue
Block a user