/**
* ProvenanceIndicator Component Tests
*/
import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react";
import { ProvenanceIndicator } from "./ProvenanceIndicator";
describe("ProvenanceIndicator", () => {
it("should render instance name", () => {
render(
);
expect(screen.getByText("Work Instance")).toBeInTheDocument();
});
it("should render with compact mode", () => {
const { container } = render(
);
// Compact mode should have smaller padding
const badge = container.querySelector(".px-2");
expect(badge).toBeInTheDocument();
});
it("should render with custom color", () => {
const { container } = render(
);
const badge = container.querySelector(".bg-blue-100");
expect(badge).toBeInTheDocument();
});
it("should render with default color when not provided", () => {
const { container } = render(
);
const badge = container.querySelector(".bg-gray-100");
expect(badge).toBeInTheDocument();
});
it("should show tooltip with instance details on hover", () => {
render(
);
// Check for title attribute (tooltip)
const badge = screen.getByText("Work Instance");
expect(badge.closest("div")).toHaveAttribute(
"title",
"From: Work Instance (https://mosaic.work.example.com)"
);
});
it("should render with icon when showIcon is true", () => {
render(
);
expect(screen.getByText("🔗")).toBeInTheDocument();
});
it("should not render icon by default", () => {
render(
);
expect(screen.queryByText("🔗")).not.toBeInTheDocument();
});
});