/** @vitest-environment jsdom */ import { vi } from 'vitest'; import { registerAgentRuntimeCommandTests } from './appSurface/agent-runtime.suite'; import { registerAuthTests } from './appSurface/auth.suite'; import { registerChatComposerControlTests } from './appSurface/chat-composer.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'; import { registerToolCallGroupTests } from './appSurface/tool-call-group.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(); registerToolCallGroupTests(); registerChatComposerControlTests(); });