mirror of
https://github.com/ets-cfuhrman-pfe/EvalueTonSavoir.git
synced 2025-08-11 21:23:54 -04:00
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
|
|
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(() => <div data-testid="image-gallery" />),
|
||
|
|
}));
|
||
|
|
|
||
|
|
describe("ImageGalleryModal", () => {
|
||
|
|
|
||
|
|
it("renders button correctly", () => {
|
||
|
|
render(<ImageGalleryModal />);
|
||
|
|
|
||
|
|
const button = screen.getByLabelText(/images-open/i);
|
||
|
|
expect(button).toBeInTheDocument();
|
||
|
|
});
|
||
|
|
|
||
|
|
it("opens the modal when button is clicked", () => {
|
||
|
|
render(<ImageGalleryModal />);
|
||
|
|
|
||
|
|
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(<ImageGalleryModal />);
|
||
|
|
|
||
|
|
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();
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
});
|