import { ImagePreview } from "#/components/features/images/image-preview"; import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { describe, expect, it, vi } from "vitest"; describe("ImagePreview", () => { it("should render an image", () => { render( , ); const img = screen.getByRole("img"); expect(screen.getByTestId("image-preview")).toBeInTheDocument(); expect(img).toHaveAttribute("src", "https://example.com/image.jpg"); }); it("should call onRemove when the close button is clicked", async () => { const user = userEvent.setup(); const onRemoveMock = vi.fn(); render( , ); const closeButton = screen.getByRole("button"); await user.click(closeButton); expect(onRemoveMock).toHaveBeenCalledOnce(); }); it("shoud not display the close button when onRemove is not provided", () => { render(); expect(screen.queryByRole("button")).not.toBeInTheDocument(); }); });