mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import React from "react";
|
|
import { render, screen } from "@testing-library/react";
|
|
import CardHeader from "./CardHeader";
|
|
|
|
describe("CardHeader", () => {
|
|
it("renders header text and subheader text when provided", () => {
|
|
const headerText = "Test Header";
|
|
const subheaderText = "Test Subheader";
|
|
render(<CardHeader header={headerText} subheader={subheaderText} />);
|
|
|
|
const header = screen.getByText(headerText);
|
|
expect(header).toBeInTheDocument();
|
|
expect(header.tagName).toBe("H2");
|
|
const subheader = screen.getByText(subheaderText);
|
|
expect(subheader).toBeInTheDocument();
|
|
expect(subheader.tagName).toBe("P");
|
|
});
|
|
it("does not render subheader when not provided", () => {
|
|
const headerText = "Test Header";
|
|
render(<CardHeader header={headerText} />);
|
|
|
|
const subheader = screen.queryByText(/subheader/i);
|
|
expect(subheader).not.toBeInTheDocument();
|
|
});
|
|
it("renders JSX elements for header and subheader", () => {
|
|
const headerJSX = <span data-testid="header-jsx">Header JSX</span>;
|
|
const subheaderJSX = <span data-testid="subheader-jsx">Subheader JSX</span>;
|
|
render(<CardHeader header={headerJSX} subheader={subheaderJSX} />);
|
|
|
|
expect(screen.getByTestId("header-jsx")).toBeInTheDocument();
|
|
expect(screen.getByTestId("subheader-jsx")).toBeInTheDocument();
|
|
});
|
|
});
|