mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import React from "react";
|
|
import { render, screen } from "@testing-library/react";
|
|
import IconStatusMessage from "./IconStatusMessage";
|
|
|
|
describe("IconStatusMessage - component", () => {
|
|
it("renders with icon and message", () => {
|
|
const { container } = render(
|
|
<IconStatusMessage
|
|
message="Test message"
|
|
iconName="success"
|
|
iconColor="core-fleet-green"
|
|
/>
|
|
);
|
|
expect(
|
|
container.querySelector(".icon-status-message__icon")
|
|
).toBeInTheDocument();
|
|
expect(screen.getByTestId("success-icon")).toBeInTheDocument();
|
|
expect(
|
|
container.querySelector(".icon-status-message__content")
|
|
).toHaveTextContent("Test message");
|
|
});
|
|
|
|
it("does not render icon when iconName is not provided", () => {
|
|
const { container } = render(<IconStatusMessage message="No icon" />);
|
|
expect(container.querySelector(".icon-status-message__icon")).toBeNull();
|
|
expect(
|
|
container.querySelector(".icon-status-message__content")
|
|
).toHaveTextContent("No icon");
|
|
});
|
|
|
|
it("applies custom className and testId when provided", () => {
|
|
const { container } = render(
|
|
<IconStatusMessage
|
|
message="Custom class"
|
|
className="extra-style"
|
|
testId="status-msg"
|
|
/>
|
|
);
|
|
expect(container.firstChild).toHaveClass("icon-status-message");
|
|
expect(container.firstChild).toHaveClass("extra-style");
|
|
expect(screen.getByTestId("status-msg")).toBeInTheDocument();
|
|
});
|
|
});
|