Spaces:
Build error
Build error
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( | |
<ImagePreview src="https://example.com/image.jpg" onRemove={vi.fn} />, | |
); | |
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( | |
<ImagePreview | |
src="https://example.com/image.jpg" | |
onRemove={onRemoveMock} | |
/>, | |
); | |
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(<ImagePreview src="https://example.com/image.jpg" />); | |
expect(screen.queryByRole("button")).not.toBeInTheDocument(); | |
}); | |
}); | |