87fbf92c58
- WorkspaceLauncher.tsx:保留本分支清单快照 CAS 拒收提示(manifestMergeNotice 提示条、data-manifest-merge-* 观察点、recoverRejectedManifestSnapshot「重新读取清单」)与 activeVersionId/onActiveVersionChange 版本口径,并入 master 的策划/游戏运行态切换(onMakeGame + switchToGameRuntime、suppressInitialGameTurn 抑制首轮、supervisor key 带 agentRuntimeMode、onSwitchToGameRuntime),planningStartMode 统一取 master 的派生值(上下文 startMode 为 planning 且未切到 game 运行时) - ProjectSupervisorView.tsx:props 同时保留本分支 versions/activeVersionId 与 master 的 designView/onDesignApprove/onDesignClarify/onDesignRetry,DesignAgentSurface 审批链路与本分支资源引用输入区并存;directCodex 输入区保留本分支 @ 引用按钮 + 模型选择 + 发送按钮控制条,发送按钮禁用条件并入 master 的 designView 审批待定口径,模型选择沿用 master 的「对话中可切换」口径 - styles.css:本分支追加的资源画布/输入区样式块与 master 追加的 .design-agent-reasoning 样式块都保留,并补上本分支最后一条规则的收尾大括号 - view/project-development/index.tsx:保留本分支的 image-editor 引用(ImageCanvasProjectAssetPickerDialog、ImageCanvasQuickEditPanelView、ImageCanvasSelectedLayerToolbarView、useImageCanvasFloatingOptionDismiss),去掉 master 对已退役 features/asset-canvas 的 import(本分支已由 resource-canvas 取代),保留 master 的 DesignWorkspacePanel 与 planningStartMode 策划工作台分支 - tests/workspaceLauncherManifestMerge.test.tsx:补 master 新引入的 get_design_agent_runtime_mode mock(返回 null,与 master 各套件同口径),拒收提示断言不变 - tests/appSurface/design-agent.suite.ts:审批待定禁用输入的断言改用本分支 Lexical 输入区的禁用口径(容器 data-disabled + editor.setEditable(false)),断言意图不变 - 验证:npm run typecheck 通过;apps/ai-game-creator-shell typecheck 通过;apps/ai-game-creator-shell/tests 96 个测试文件 1380 通过 4 跳过 0 失败;全仓 vitest 297 通过 2 失败(scripts 下两例为 Windows 权限语义导致的既有失败,相关文件与实现均未参与本次合并);npm run check:encoding 与 git diff --check 通过
78 lines
3.1 KiB
TypeScript
78 lines
3.1 KiB
TypeScript
/** @vitest-environment jsdom */
|
|
import { vi } from 'vitest';
|
|
|
|
import { registerAgentRuntimeCommandTests } from './appSurface/agent-runtime.suite';
|
|
import { registerAuthTests } from './appSurface/auth.suite';
|
|
import { registerDesignAgentSurfaceTests } from './appSurface/design-agent.suite';
|
|
import {
|
|
registerDeveloperAgentWindowTests,
|
|
registerDeveloperToolsTests,
|
|
} from './appSurface/developer-agent-window.suite';
|
|
import { describe } from './appSurface/harness';
|
|
import {
|
|
registerClientHomeTests,
|
|
registerHomeProjectCreationTests,
|
|
registerRecentProjectsTests,
|
|
} from './appSurface/home.suite';
|
|
import { registerPlanGddApprovalTests } from './appSurface/plan-gdd.suite';
|
|
import {
|
|
registerCanvasAssetTests,
|
|
registerProjectAssetTests,
|
|
} from './appSurface/project-assets.suite';
|
|
import { registerProjectCommandTests } from './appSurface/project-commands.suite';
|
|
import { registerProjectConversationTests } from './appSurface/project-conversation.suite';
|
|
import {
|
|
registerProjectAgentStatusTests,
|
|
registerProjectSupervisorSurfaceTests,
|
|
registerProjectWorkbenchFoundationTests,
|
|
registerProjectWorkbenchNavigationTests,
|
|
registerUserSurfaceBoundaryTests,
|
|
} from './appSurface/project-development.suite';
|
|
import { registerProjectPreviewAndRunHistoryTests } from './appSurface/project-preview.suite';
|
|
import {
|
|
registerAgentStatusDerivationTests,
|
|
registerPublishedRuntimeSettingsTests,
|
|
registerRuntimeSettingsTests,
|
|
} from './appSurface/runtime-settings.suite';
|
|
import { registerSupervisorRuntimeTests } from './appSurface/supervisor-runtime.suite';
|
|
|
|
/**
|
|
* 原生文件对话框是宿主能力,不能在 jsdom 里真开窗。
|
|
*
|
|
* 这里只替代"用户选了哪个目标路径"这一件事:`save` 按调用方给的建议文件名返回一个
|
|
* 固定的导出路径,让「下载」用例能断言工具条真的走到了 `save_local_project_asset_file`。
|
|
* 声明必须留在入口文件:`project-assets.suite` 等模块比 `project-development.suite`
|
|
* 更早 import 工作台视图,放在别处注册会晚于真实模块实例化。
|
|
*/
|
|
vi.mock('@tauri-apps/plugin-dialog', () => ({
|
|
open: async () => null,
|
|
save: async (options?: { defaultPath?: string }) =>
|
|
options?.defaultPath ? `/tmp/native-export/${options.defaultPath}` : null,
|
|
}));
|
|
|
|
describe('AI 游戏创作 App 界面边界', () => {
|
|
registerProjectWorkbenchFoundationTests();
|
|
registerAuthTests();
|
|
registerAgentStatusDerivationTests();
|
|
registerUserSurfaceBoundaryTests();
|
|
registerClientHomeTests();
|
|
registerDeveloperAgentWindowTests();
|
|
registerHomeProjectCreationTests();
|
|
registerProjectSupervisorSurfaceTests();
|
|
registerRuntimeSettingsTests();
|
|
registerRecentProjectsTests();
|
|
registerProjectWorkbenchNavigationTests();
|
|
registerProjectPreviewAndRunHistoryTests();
|
|
registerProjectConversationTests();
|
|
registerProjectAgentStatusTests();
|
|
registerPublishedRuntimeSettingsTests();
|
|
registerDeveloperToolsTests();
|
|
registerProjectCommandTests();
|
|
registerSupervisorRuntimeTests();
|
|
registerProjectAssetTests();
|
|
registerAgentRuntimeCommandTests();
|
|
registerCanvasAssetTests();
|
|
registerPlanGddApprovalTests();
|
|
registerDesignAgentSurfaceTests();
|
|
});
|