import React from "react"; import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import ImageGalleryModal from "../../../components/ImageGallery/ImageGalleryModal/ImageGalleryModal"; import "@testing-library/jest-dom"; jest.mock("../../../components/ImageGallery/ImageGallery", () => ({ __esModule: true, default: jest.fn(() =>
), })); describe("ImageGalleryModal", () => { it("renders button correctly", () => { render(); const button = screen.getByLabelText(/images-open/i); expect(button).toBeInTheDocument(); }); it("opens the modal when button is clicked", () => { render(); const button = screen.getByRole("button", { name: /images/i }); fireEvent.click(button); const dialog = screen.getByRole("dialog"); expect(dialog).toBeInTheDocument(); }); it("closes the modal when close button is clicked", async () => { render(); fireEvent.click(screen.getByRole("button", { name: /images/i })); const closeButton = screen.getByRole("button", { name: /close/i }); fireEvent.click(closeButton); await waitFor(() => { expect(screen.queryByRole("dialog")).not.toBeInTheDocument(); }); }); });