import { describe, it, expect, vi } from "vitest";
import userEvent from "@testing-library/user-event";
import { renderWithMantine, screen } from "../../../test/renderWithMantine";
import { PinToggle } from "./PinToggle";
describe("PinToggle", () => {
it("labels itself Pin when not pinned", () => {
renderWithMantine();
expect(screen.getByRole("button", { name: "Pin" })).toBeInTheDocument();
});
it("labels itself Unpin when pinned", () => {
renderWithMantine();
expect(screen.getByRole("button", { name: "Unpin" })).toBeInTheDocument();
});
it("invokes onToggle when clicked", async () => {
const user = userEvent.setup();
const onToggle = vi.fn();
renderWithMantine();
await user.click(screen.getByRole("button", { name: "Pin" }));
expect(onToggle).toHaveBeenCalledTimes(1);
});
});