/** * @file SessionToolBadge.test.tsx * @description The session tool chip: nothing for a Claude Code session (so * every hook row renders as before), the tool's name for a Codex one. * @author Nguyễn Ngọc Trí Vĩ */ import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { SessionToolBadge } from "../SessionToolBadge"; vi.mock("../../lib/api", () => ({ api: { aiTools: { list: () => new Promise(() => {}) } } })); describe("SessionToolBadge", () => { it("renders nothing for a Claude or unset tool", () => { const { container } = render( <> ); expect(container).toBeEmptyDOMElement(); }); it("names a Codex session's tool", () => { render(); expect(screen.getByText("Codex")).toHaveAttribute("title", "Recorded by Codex"); }); });