合并主分支
解决合并冲突
This commit is contained in:
@@ -66,6 +66,96 @@ describe('ImageCanvasGenerationSubmissionModel', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('builds structured scene generation plans without assembling backend prompts', () => {
|
||||
const plan = buildImageGenerationSubmissionPlan({
|
||||
dialog: {
|
||||
mode: 'scene',
|
||||
prompt: ' 雨夜中的欧洲小镇街道 ',
|
||||
status: 'idle',
|
||||
sceneStylePreset: 'watercolor',
|
||||
sceneCustomStyle: '',
|
||||
imageModel: IMAGE_MODEL_NANOBANANA2,
|
||||
aspectRatio: '16:9',
|
||||
imageSize: '1K',
|
||||
generationReferences: [
|
||||
{
|
||||
id: 'scene-reference-1',
|
||||
label: '场景参考一',
|
||||
src: '/scene-reference-1.png',
|
||||
objectKey: 'users/user-1/scene-reference-1.png',
|
||||
resourceId: 'scene-resource-1',
|
||||
},
|
||||
{
|
||||
id: 'scene-reference-2',
|
||||
label: '场景参考二',
|
||||
src: '/scene-reference-2.png',
|
||||
objectKey: 'users/user-1/scene-reference-2.png',
|
||||
resourceId: 'scene-resource-2',
|
||||
},
|
||||
],
|
||||
},
|
||||
layers: [],
|
||||
nextGeneratedIndex: 2,
|
||||
});
|
||||
|
||||
expect(plan).toMatchObject({
|
||||
kind: 'scene',
|
||||
normalizedPrompt: '雨夜中的欧洲小镇街道',
|
||||
input: {
|
||||
sceneContent: '雨夜中的欧洲小镇街道',
|
||||
stylePreset: 'watercolor',
|
||||
model: IMAGE_MODEL_NANOBANANA2,
|
||||
aspectRatio: '16:9',
|
||||
imageSize: '1K',
|
||||
referenceImageSrcs: [
|
||||
'users/user-1/scene-reference-1.png',
|
||||
'users/user-1/scene-reference-2.png',
|
||||
],
|
||||
},
|
||||
result: {
|
||||
assetKind: 'scene',
|
||||
title: '游戏场景 2',
|
||||
generationInputs: {
|
||||
fields: [
|
||||
{ title: '画面内容', value: '雨夜中的欧洲小镇街道' },
|
||||
{ title: '视觉风格', value: '清透水彩' },
|
||||
],
|
||||
references: [
|
||||
{
|
||||
title: '场景参考图 1',
|
||||
label: '场景参考一',
|
||||
refType: 'project-resource',
|
||||
refId: 'scene-resource-1',
|
||||
},
|
||||
{
|
||||
title: '场景参考图 2',
|
||||
label: '场景参考二',
|
||||
refType: 'project-resource',
|
||||
refId: 'scene-resource-2',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(JSON.stringify(plan)).not.toContain('仅生成环境背景');
|
||||
});
|
||||
|
||||
it('requires custom style content for scene generation', () => {
|
||||
expect(() =>
|
||||
buildImageGenerationSubmissionPlan({
|
||||
dialog: {
|
||||
mode: 'scene',
|
||||
prompt: '海边车站',
|
||||
status: 'idle',
|
||||
sceneStylePreset: 'custom',
|
||||
sceneCustomStyle: ' ',
|
||||
},
|
||||
layers: [],
|
||||
nextGeneratedIndex: 1,
|
||||
}),
|
||||
).toThrow('请填写自定义画风');
|
||||
});
|
||||
|
||||
it('trims custom asset names and limits them to 80 characters', () => {
|
||||
const customName = ` ${'名'.repeat(81)} `;
|
||||
const plan = buildImageGenerationSubmissionPlan({
|
||||
|
||||
Reference in New Issue
Block a user