jest.mock("../../services/uploadFile"); import { render, cleanup, screen, fireEvent, waitFor, } from "@testing-library/react"; import { setUploadFileDelay } from "../../services/uploadFile"; import { FileUploadProvider, useFileUploadContext, } from "../Contexts/FileUploadContext"; import { StatusProvider, useStatusContext } from "../Contexts/StatusContext"; const checkState = (uploading, progress, status, linkURL, message) => { expect(screen.getByTestId("uploading").innerHTML).toEqual(uploading); expect(screen.getByTestId("progress").innerHTML).toEqual(progress); expect(screen.getByTestId("status").innerHTML).toEqual(status); expect(screen.getByTestId("linkURL").innerHTML).toEqual(linkURL); expect(screen.getByTestId("message").innerHTML).toEqual(message); }; describe("FileUploadContext", () => { beforeEach(() => { const TestComp = () => { const { progress, uploading, status, linkURL, upload, cancel, } = useFileUploadContext(); const { message, setMessage } = useStatusContext(); const TEST_FILE = [{ name: "test.jpg", size: 0 }]; const TEST_ACCESSTOKEN = "ACCESSTOKEN"; const TEST_FORMDATA = { packagename: "TEST", version: "VERSION", vehicles: ["VIN"], }; const exec = async (form, token, file) => { try { await upload(form, token, file); } catch (e) { setMessage(e.message); } }; return ( <>
{uploading.toString()}
{progress.toString()}
{status}
{message}
{linkURL}