import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react";
import { SectionCard } from "../SectionCard";

describe("SectionCard", () => {
	it("renders title, description, action, and children", () => {
		render(
			<SectionCard
				title="Shortcuts"
				description="Quick links"
				action={<button type="button">Add</button>}
			>
				<p>Body content</p>
			</SectionCard>,
		);
		expect(screen.getByText("Shortcuts")).toBeInTheDocument();
		expect(screen.getByText("Quick links")).toBeInTheDocument();
		expect(screen.getByRole("button", { name: "Add" })).toBeInTheDocument();
		expect(screen.getByText("Body content")).toBeInTheDocument();
	});

	it("renders without a description or action", () => {
		render(<SectionCard title="Only title">children</SectionCard>);
		expect(screen.getByText("Only title")).toBeInTheDocument();
		expect(screen.getByText("children")).toBeInTheDocument();
	});
});
