import { fireEvent, render, screen } from "tests" import ImageUploadModal from "./ImageUploadModal" import React from "react" const EXPECTED_CALL_COUNT = 1 describe("ImageUploadModal", () => { const defaultProps = { imageDataUrl: null, isLoading: false, isUploadDisabled: false, message: "Are you sure?", onClose: jest.fn(), onDragOver: jest.fn(), onFileDrop: jest.fn(), onFileSelect: jest.fn(), onSubmit: jest.fn() } it("renders correctly with the provided message", () => { render() expect(screen.getByText("Are you sure?")).toBeInTheDocument() }) it('calls onClose when "Cancel" button is clicked', () => { render() fireEvent.click(screen.getByText("Cancel")) expect(defaultProps.onClose).toHaveBeenCalledTimes(EXPECTED_CALL_COUNT) }) it('calls onImageUpload when "ImageUpload" button is clicked', () => { const { getByText } = render() fireEvent.submit(getByText("Upload")) expect(defaultProps.onSubmit).toHaveBeenCalledTimes(EXPECTED_CALL_COUNT) }) it('disables the "ImageUpload" button when isDisabled is true', () => { render() expect(screen.getByText("Upload")).toBeDisabled() }) })