统一快速编辑标签覆盖语义

后端按目标图层有效素材类型执行快速编辑门禁
补充 icon 默认资源覆盖 scene 和 spec 的前后端回归
同步图片画布与后端数据契约说明
This commit is contained in:
2026-08-08 15:39:49 +08:00
parent cd78077e95
commit 7927309cef
5 changed files with 68 additions and 4 deletions
@@ -439,6 +439,7 @@ describe('ImageCanvasGenerationModel', () => {
isQuickEditSupportedLayer({
...buildSourceLayer(),
assetKind: 'scene',
resourceAssetKind: 'icon',
}),
).toBe(true);
expect(
@@ -943,6 +943,46 @@ describe('useImageCanvasGenerationSubmissionWorkflow', () => {
);
});
it.each(['scene', 'spec'] as const)(
'submits quick edits for icon resources overridden to %s',
async (assetKind) => {
editEditorImageMock.mockResolvedValueOnce(
createGenerated({ prompt: `修改${assetKind}` }),
);
render(
<SubmissionWorkflowHarness
initialLayers={[
createLayer({
resourceAssetKind: 'icon',
assetKind,
}),
]}
initialQuickEditPanel={{
mode: 'quick-edit',
sourceLayerId: 'layer-source',
prompt: `修改${assetKind}`,
size: '1024x1024',
aspectRatio: '1:1',
imageSize: '1K',
model: 'gpt-image-2',
status: 'idle',
}}
/>,
);
fireEvent.click(screen.getByRole('button', { name: '提交快速编辑' }));
await waitFor(() => {
expect(editEditorImageMock).toHaveBeenCalledWith(
expect.objectContaining({
sourceReferenceId: 'resource-source',
targetLayerId: 'layer-source',
}),
);
});
},
);
it('rejects unregistered quick-edit sources before uploading marked references', async () => {
render(
<SubmissionWorkflowHarness