import React from "react"; import { fireEvent, render, screen } from "@testing-library/react"; import { ThemeProvider, createTheme } from "@mui/material/styles"; import { AgentHistoryPanel } from "./AgentHistoryPanel"; const renderWithTheme = (ui: React.ReactElement) => render({ui}); describe("AgentHistoryPanel", () => { it("renames a history session from the list", () => { const onRenameSession = jest.fn(); renderWithTheme( , ); fireEvent.click(screen.getByRole("button", { name: "修改会话标题" })); fireEvent.change(screen.getByPlaceholderText("请输入会话标题"), { target: { value: "新的会话标题" }, }); fireEvent.click(screen.getByLabelText("确认")); expect(onRenameSession).toHaveBeenCalledWith("session-1", "新的会话标题"); }); it("orders history by the first message time instead of the latest update time", () => { renderWithTheme( , ); const sessionTitles = screen.getAllByText(/较新的/).map((element) => element.textContent); expect(sessionTitles).toEqual(["较新的首条消息", "较新的更新"]); }); });