20 lines
1.0 KiB
TypeScript
20 lines
1.0 KiB
TypeScript
import { render, screen } from "@testing-library/react";
|
|
import { describe, expect, it, vi } from "vitest";
|
|
import { CompletionAnnouncer } from "../src/components/common/CompletionAnnouncer.js";
|
|
import { TopBar } from "../src/components/topbar/TopBar.js";
|
|
|
|
describe("accessibility contracts", () => {
|
|
it("gives icon-only actions accessible names", () => {
|
|
render(<TopBar sessionId="ses_1" connection="open" modelLabel="gpt-test" supportsImages onOpenSettings={vi.fn()} onReset={vi.fn()} />);
|
|
expect(screen.getByRole("button", { name: "打开模型设置" })).toBeVisible();
|
|
expect(screen.getByRole("button", { name: "重置训练会话" })).toBeVisible();
|
|
});
|
|
|
|
it("announces completion but not every streaming token", () => {
|
|
const { rerender } = render(<CompletionAnnouncer status="running" />);
|
|
expect(screen.getByRole("status")).toBeEmptyDOMElement();
|
|
rerender(<CompletionAnnouncer status="complete" />);
|
|
expect(screen.getByRole("status")).toHaveTextContent("回答已完成");
|
|
});
|
|
});
|