feat(chat): 引入 @ant-design/x 组件 — Sender/Conversations/XMarkdown 替代手动拼装
- ConfigProvider → XProvider(ConsoleShell + test-utils) - ChatSidebar → Conversations(menu dropdown + MoreOutlined trigger) - ChatInputArea → Sender(footer 左右排版 + 模型 Select + 自动清空) - Streamdown → XMarkdown(streaming hasNextChunk 映射 AI SDK 状态) - CSS 清理 ~94 行废弃样式,新增统一布局规则 - 删除 streamdown 依赖
This commit is contained in:
@@ -51,8 +51,8 @@ void mock.module("ai", () => ({
|
||||
},
|
||||
}));
|
||||
|
||||
function getSendButton() {
|
||||
return screen.getByRole("button", { name: /发.*送/ });
|
||||
function getSenderTextarea() {
|
||||
return screen.getByPlaceholderText("输入消息...");
|
||||
}
|
||||
|
||||
function setupFetchMock() {
|
||||
@@ -90,8 +90,7 @@ describe("ChatPanel", () => {
|
||||
|
||||
expect(screen.getByText("你好,我是阿福")).toBeTruthy();
|
||||
expect(screen.getByText("有什么我可以帮助你的吗?")).toBeTruthy();
|
||||
expect(screen.getByPlaceholderText("输入消息...")).toBeTruthy();
|
||||
expect(getSendButton()).toBeTruthy();
|
||||
expect(getSenderTextarea()).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -108,9 +107,9 @@ describe("ChatPanel", () => {
|
||||
}),
|
||||
);
|
||||
|
||||
const input = screen.getByPlaceholderText("输入消息...");
|
||||
fireEvent.change(input, { target: { value: "你好" } });
|
||||
fireEvent.click(getSendButton());
|
||||
const textarea = getSenderTextarea();
|
||||
fireEvent.change(textarea, { target: { value: "你好" } });
|
||||
fireEvent.keyDown(textarea, { key: "Enter" });
|
||||
|
||||
await waitFor(() => {
|
||||
expect(onCreated).toHaveBeenCalledWith("conv-new");
|
||||
@@ -139,12 +138,12 @@ describe("ChatPanel", () => {
|
||||
}),
|
||||
);
|
||||
|
||||
const input = screen.getByPlaceholderText("输入消息...");
|
||||
fireEvent.change(input, { target: { value: "测试输入" } });
|
||||
fireEvent.click(getSendButton());
|
||||
const textarea = getSenderTextarea();
|
||||
fireEvent.change(textarea, { target: { value: "测试输入" } });
|
||||
fireEvent.keyDown(textarea, { key: "Enter" });
|
||||
|
||||
await waitFor(() => {
|
||||
expect((input as HTMLTextAreaElement).value).toBe("测试输入");
|
||||
expect((textarea as HTMLTextAreaElement).value).toBe("测试输入");
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -161,7 +160,7 @@ describe("ChatPanel", () => {
|
||||
);
|
||||
|
||||
expect(screen.queryByText("你好,我是阿福")).toBeNull();
|
||||
expect(screen.getByPlaceholderText("输入消息...")).toBeTruthy();
|
||||
expect(getSenderTextarea()).toBeTruthy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user