Files
agent/apps/web/tests/accessibility.test.tsx
T

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("回答已完成");
});
});