import { afterEach, expect, it, vi } from "vitest"; import { cleanup, fireEvent, render, screen } from "@testing-library/react"; import { SessionTree } from "../../src/frontend/SessionTree"; vi.mock("@termix/plugin-sdk/frontend", async (original) => ({ ...(await original()), useTranslation: () => ({ t: (key: string) => key }), })); afterEach(cleanup); it("selects a session by its label while the chevron only changes expansion", () => { const select = vi.fn(); const toggle = vi.fn(); const noop = () => {}; render( , ); fireEvent.click(screen.getByText("same")); expect(select).toHaveBeenCalledExactlyOnceWith("same"); expect(toggle).not.toHaveBeenCalled(); fireEvent.click(screen.getByLabelText("tmuxMonitor.toggleSession")); expect(toggle).toHaveBeenCalledExactlyOnceWith("same"); expect(select).toHaveBeenCalledOnce(); });