import React from "react"; import { render, screen } from "@testing-library/react"; import { describe, it, expect, vi } from "vitest"; import ContentBanner from "../../app/components/ContentBanner"; import type { BlogPost } from "../../lib/content"; vi.mock("next/link", () => ({ default: ({ children, href, ...props }: any) => ( {children} ), })); vi.mock("../../lib/assetUtils", () => ({ getAssetPath: vi.fn((asset: string) => `/assets/${asset}`), })); const mockPost: BlogPost = { slug: "test-article", frontmatter: { title: "Test Article", description: "Test description", author: "Test Author", date: "2025-04-15", }, }; describe("ContentBanner", () => { it("renders without crashing", () => { render(); }); it("renders article title", () => { render(); expect( screen.getByRole("heading", { name: "Test Article" }), ).toBeInTheDocument(); }); it("renders article description", () => { render(); expect(screen.getByText("Test description")).toBeInTheDocument(); }); });