diff --git a/.eslintrc.json b/.eslintrc.json index 76e14a2..983277c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -16,6 +16,7 @@ }, "rules": { "react/prop-types": "off", - "react/display-name": "off" + "react/display-name": "off", + "react/react-in-jsx-scope": 0 } } diff --git a/package-lock.json b/package-lock.json index fcdb4f2..2dd292b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,6 +52,7 @@ "storybook": "^8.1.5", "typescript": "^5.4.5", "vitest": "^1.6.0", + "vitest-fetch-mock": "^0.2.2", "webpack": "^5.91.0" }, "peerDependencies": { @@ -9798,6 +9799,15 @@ "optional": true, "peer": true }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -22666,6 +22676,21 @@ } } }, + "node_modules/vitest-fetch-mock": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/vitest-fetch-mock/-/vitest-fetch-mock-0.2.2.tgz", + "integrity": "sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.6" + }, + "engines": { + "node": ">=14.14.0" + }, + "peerDependencies": { + "vitest": ">=0.16.0" + } + }, "node_modules/vitest/node_modules/@vitest/expect": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", diff --git a/package.json b/package.json index e8a0ebd..96a1532 100644 --- a/package.json +++ b/package.json @@ -84,6 +84,7 @@ "storybook": "^8.1.5", "typescript": "^5.4.5", "vitest": "^1.6.0", + "vitest-fetch-mock": "^0.2.2", "webpack": "^5.91.0" }, "peerDependencies": { diff --git a/src/__tests__/index.test.tsx b/src/__tests__/index.test.tsx index b3034c5..98c82b4 100644 --- a/src/__tests__/index.test.tsx +++ b/src/__tests__/index.test.tsx @@ -1,11 +1,10 @@ import { render, screen } from "@testing-library/react"; -import React from "react"; import DocViewer from "../index"; -import csvFile from "../exampleFiles/csv-file.csv"; -import pdfFile from "../exampleFiles/pdf-file.pdf"; -import gifFile from "../exampleFiles/gif-image.gif"; -import pngFile from "../exampleFiles/png-image.png"; +import csvFile from "../exampleFiles/csv-file.csv?url"; +import pdfFile from "../exampleFiles/pdf-file.pdf?url"; +import gifFile from "../exampleFiles/gif-image.gif?url"; +import pngFile from "../exampleFiles/png-image.png?url"; test("renders component with no documents", () => { render(); diff --git a/vite.config.ts b/vite.config.ts index e1d976c..ba115ba 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,8 +4,8 @@ import dsv from "@rollup/plugin-dsv"; export default defineConfig({ plugins: [dsv()], test: { - environment: "happy-dom", globals: true, + environment: "happy-dom", setupFiles: ["./vitest.setup.ts"], }, }); diff --git a/vitest.setup.ts b/vitest.setup.ts index b16f97d..2792a71 100644 --- a/vitest.setup.ts +++ b/vitest.setup.ts @@ -1,2 +1,7 @@ import "@testing-library/jest-dom"; import "core-js/proposals/promise-with-resolvers"; +import createFetchMock from "vitest-fetch-mock"; +import { vi } from "vitest"; + +const fetchMocker = createFetchMock(vi); +fetchMocker.enableMocks();