diff --git a/apps/ai-game-creator-shell/tests/gameDistributionPublish.test.ts b/apps/ai-game-creator-shell/tests/gameDistributionPublish.test.ts index 38d0dba9f..e80879864 100644 --- a/apps/ai-game-creator-shell/tests/gameDistributionPublish.test.ts +++ b/apps/ai-game-creator-shell/tests/gameDistributionPublish.test.ts @@ -129,9 +129,15 @@ describe('Rust 发布 facade', () => { packageRelativePath: 'exports/playtest-package-1.zip', manifest: MANIFEST, metadata: { coverAssetId: 'asset_cover' }, + // 首次发布(没有 gameId):平台派发的下一个版本号就是 1;更新发布才是 max+1, + // 由平台回读的 `nextVersionNumber` 提供。这个文件的两个用例都是首次发布。 + versionNumber: 1, includeProjectBundle: false, }); - expect(calls[0]?.args).toMatchObject({ includeProjectBundle: false }); + expect(calls[0]?.args).toMatchObject({ + includeProjectBundle: false, + versionNumber: 1, + }); // 勾选(或未表态)时不带这个字段:默认由原生按「授权非禁止即上传」判断, // 渲染层不重复实现同一套默认值。 @@ -141,6 +147,7 @@ describe('Rust 发布 facade', () => { packageRelativePath: 'exports/playtest-package-1.zip', manifest: MANIFEST, metadata: { coverAssetId: 'asset_cover' }, + versionNumber: 1, includeProjectBundle: true, }); expect(calls[1]?.args).not.toHaveProperty('includeProjectBundle'); @@ -158,6 +165,8 @@ describe('Rust 发布 facade', () => { coverAssetId: 'asset_cover', forkAuthorization: 'nonCommercial', }, + // 同为首次发布:平台派发的下一个版本号是 1(见上一个用例的说明)。 + versionNumber: 1, }); expect(calls[0]?.args).toMatchObject({ metadata: { forkAuthorization: 'nonCommercial' }, @@ -173,6 +182,7 @@ describe('Rust 发布 facade', () => { packageRelativePath: 'exports/playtest-package-1.zip', manifest: MANIFEST, metadata: { coverAssetId: 'asset_cover' }, + versionNumber: 1, }); expect(calls[1]?.args).toMatchObject({ metadata: { forkAuthorization: 'forbidden' }, diff --git a/apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx b/apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx index e29795373..21abf2ef4 100644 --- a/apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx +++ b/apps/ai-game-creator-shell/tests/gameDistributionPublishPanel.test.tsx @@ -357,7 +357,10 @@ describe('GameDistributionPublishPanel', () => { renderPanel(); // 三个档位都在场,且默认落在「禁止共创」(与库表默认、旧客户端行为一致)。 - expect(screen.getAllByRole('radio')).toHaveLength(3); + // 只数**授权共创**这一组:面板里其它字段也会渲染 radio(例如设备/方向类选项), + // 全局计数会随无关字段增减而误报。 + const forkGroup = screen.getByRole('radiogroup', { name: '授权共创' }); + expect(within(forkGroup).getAllByRole('radio')).toHaveLength(3); expect(screen.getByRole('radio', { name: '禁止共创' })).toHaveProperty( 'checked', true,