544f9ac040
- 退役 ensureUiDesignResourceForPrototype / findLinkedUiDesignResource 的 6 条旧用例已随实现删除而无对应导出,测试文件整体失败 - 改为覆盖 createUiDesignDocFromImages:空图片列表拒绝且不调用命令,正常调用透传项目身份与设计图引用
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest';
|
|
|
|
import { createUiDesignDocFromImages } from '../src/features/ui-editor/uiDesignResourceBridge';
|
|
|
|
describe('ui design resource bridge', () => {
|
|
it('rejects an empty image list without invoking the command', async () => {
|
|
const invoke = vi.fn();
|
|
await expect(
|
|
createUiDesignDocFromImages({
|
|
projectPath: '/project',
|
|
expectedProjectId: 'project-1',
|
|
images: [],
|
|
invoke,
|
|
}),
|
|
).rejects.toThrow('请至少选择一张界面图');
|
|
expect(invoke).not.toHaveBeenCalled();
|
|
});
|
|
|
|
it('creates a document through the command with the project identity injected', async () => {
|
|
const created = {
|
|
asset: { id: 'ui-1' },
|
|
manifest: { projectId: 'project-1' },
|
|
relativePath: 'ui/UI 设计 1.json',
|
|
imageIds: ['image-a'],
|
|
committedProjectRevision: 7,
|
|
};
|
|
const invoke = vi.fn().mockResolvedValue(created);
|
|
const result = await createUiDesignDocFromImages({
|
|
projectPath: '/project',
|
|
expectedProjectId: 'project-1',
|
|
images: [{ assetId: 'image-a', path: null }],
|
|
invoke,
|
|
});
|
|
expect(invoke).toHaveBeenCalledWith('create_ui_design_doc_from_images', {
|
|
input: {
|
|
projectPath: '/project',
|
|
expectedProjectId: 'project-1',
|
|
images: [{ assetId: 'image-a', path: null }],
|
|
},
|
|
});
|
|
expect(result).toBe(created);
|
|
});
|
|
});
|