merge: 集成 AI 设计生成任务修复

This commit is contained in:
2026-08-14 15:32:55 +08:00
14 changed files with 1023 additions and 218 deletions

View File

@@ -58,6 +58,13 @@ function deferred<T>() {
return { promise, resolve };
}
async function openConfigurationEditor(): Promise<void> {
const editButton = await screen.findByRole('button', { name: '编辑配置' });
await waitFor(() => expect(editButton).toBeEnabled());
fireEvent.click(editButton);
await screen.findByRole('heading', { name: '编辑智能体配置' });
}
describe('AI hardware page', () => {
beforeEach(() => {
api.getAiHardwareOverview.mockResolvedValue(activeOverview);
@@ -139,7 +146,7 @@ describe('AI hardware page', () => {
it('sends cleared nullable configuration fields through clear_fields and never sends null', async () => {
render(<AiHardware />);
fireEvent.click(await screen.findByRole('button', { name: '编辑配置' }));
await openConfigurationEditor();
fireEvent.change(screen.getByLabelText('名称'), { target: { value: '新的助手' } });
fireEvent.change(screen.getByLabelText('系统提示'), { target: { value: '' } });
fireEvent.change(screen.getByLabelText('TTS 语音 ID'), { target: { value: '' } });
@@ -229,7 +236,7 @@ describe('AI hardware page', () => {
revision: 4,
});
render(<AiHardware />);
fireEvent.click(await screen.findByRole('button', { name: '编辑配置' }));
await openConfigurationEditor();
fireEvent.click(screen.getByText('高级设置'));
const values: Record<string, string> = {
@@ -336,7 +343,7 @@ describe('AI hardware page', () => {
revision: 4,
});
render(<AiHardware />);
fireEvent.click(await screen.findByRole('button', { name: '编辑配置' }));
await openConfigurationEditor();
expect(screen.getByLabelText('聊天记录')).toHaveValue('');
fireEvent.click(screen.getByRole('button', { name: '保存' }));
@@ -381,7 +388,7 @@ describe('AI hardware page', () => {
status: 409, code: 'ai_hardware_revision_conflict', message: 'server details',
}));
render(<AiHardware />);
fireEvent.click(await screen.findByRole('button', { name: '编辑配置' }));
await openConfigurationEditor();
fireEvent.change(screen.getByLabelText('系统提示'), { target: { value: '保留的本地提示' } });
fireEvent.click(screen.getByRole('button', { name: '保存' }));