From a32ddd0e49225f78dd08c1bf0c5f9def66fbbc1e Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Tue, 6 Oct 2026 16:34:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B8=B8=E6=88=8F=E5=85=B1=E5=88=9B):=20?= =?UTF-8?q?=E8=A1=A5=E9=BD=90=E5=8F=91=E5=B8=83=E7=94=A8=E4=BE=8B=E7=9A=84?= =?UTF-8?q?=E5=BF=85=E5=A1=AB=20versionNumber=EF=BC=8C=E5=B9=B6=E6=8A=8A?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E4=B8=89=E6=80=81=E8=AE=A1=E6=95=B0=E6=94=B6?= =?UTF-8?q?=E6=95=9B=E5=88=B0=E6=9C=AC=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/gameDistributionPublish.test.ts | 12 +++++++++++- .../tests/gameDistributionPublishPanel.test.tsx | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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,