diff --git a/package.json b/package.json
index bbda89f88..ead40919c 100644
--- a/package.json
+++ b/package.json
@@ -111,7 +111,7 @@
"@react-three/test-renderer": "8.2.1",
"@svgr/webpack": "5.5.0",
"@testing-library/jest-dom": "^5.16.5",
- "@testing-library/react": "^13.2.0",
+ "@testing-library/react": "^14.3.1",
"@testing-library/user-event": "^12.1.10",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
diff --git a/src/components/DownloadButton/DownloadButton.test.js b/src/components/DownloadButton/DownloadButton.test.js
index 1d8a5a655..d61421015 100644
--- a/src/components/DownloadButton/DownloadButton.test.js
+++ b/src/components/DownloadButton/DownloadButton.test.js
@@ -7,6 +7,8 @@ import FileSaver from "file-saver";
import JSZip from "jszip";
import JSZipUtils from "jszip-utils";
+import "../../consoleMock";
+
jest.mock("file-saver");
jest.mock("jszip");
jest.mock("jszip-utils", () => ({
diff --git a/src/components/Editor/EditorInput/EditorInput.test.js b/src/components/Editor/EditorInput/EditorInput.test.js
index 84b2426aa..94a77f428 100644
--- a/src/components/Editor/EditorInput/EditorInput.test.js
+++ b/src/components/Editor/EditorInput/EditorInput.test.js
@@ -11,6 +11,8 @@ import {
import { matchMedia, setMedia } from "mock-match-media";
import { MOBILE_BREAKPOINT } from "../../../utils/mediaQueryBreakpoints";
+import "../../../consoleMock";
+
window.HTMLElement.prototype.scrollIntoView = jest.fn();
let mockMediaQuery = (query) => {
diff --git a/src/components/Editor/NewComponentButton/NewComponentButton.test.js b/src/components/Editor/NewComponentButton/NewComponentButton.test.js
index 514261be6..ac59fba6f 100644
--- a/src/components/Editor/NewComponentButton/NewComponentButton.test.js
+++ b/src/components/Editor/NewComponentButton/NewComponentButton.test.js
@@ -2,6 +2,7 @@ import React from "react";
import { fireEvent, render, screen } from "@testing-library/react";
import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
+import "../../../consoleMock";
import NewComponentButton from "./NewComponentButton";
import { showNewFileModal } from "../../../redux/EditorSlice";
diff --git a/src/components/Editor/Project/Project.test.js b/src/components/Editor/Project/Project.test.js
index 3d2b7e82a..f09f087d0 100644
--- a/src/components/Editor/Project/Project.test.js
+++ b/src/components/Editor/Project/Project.test.js
@@ -7,6 +7,8 @@ import Project from "./Project";
import { showSavedMessage } from "../../../utils/Notifications";
import { MemoryRouter } from "react-router-dom";
+import "../../../consoleMock";
+
window.HTMLElement.prototype.scrollIntoView = jest.fn();
jest.mock("react-router-dom", () => ({
diff --git a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.test.js b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.test.js
index 98fac8be5..facded60a 100644
--- a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.test.js
+++ b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.test.js
@@ -7,6 +7,7 @@ import { codeRunHandled, triggerCodeRun } from "../../../../redux/EditorSlice";
import { MemoryRouter } from "react-router-dom";
import { matchMedia, setMedia } from "mock-match-media";
import { MOBILE_BREAKPOINT } from "../../../../utils/mediaQueryBreakpoints";
+import "../../../../consoleMock";
let mockMediaQuery = (query) => {
return matchMedia(query).matches;
diff --git a/src/components/Editor/Runners/PythonRunner/PyodideRunner/PyodideRunner.test.js b/src/components/Editor/Runners/PythonRunner/PyodideRunner/PyodideRunner.test.js
index bea6c9264..46ee42b9d 100644
--- a/src/components/Editor/Runners/PythonRunner/PyodideRunner/PyodideRunner.test.js
+++ b/src/components/Editor/Runners/PythonRunner/PyodideRunner/PyodideRunner.test.js
@@ -9,6 +9,7 @@ import {
import PyodideRunner from "./PyodideRunner";
import { Provider } from "react-redux";
import PyodideWorker, { postMessage } from "./PyodideWorker.mock.js";
+import "../../../../../consoleMock"
import {
resetState,
diff --git a/src/components/Editor/Runners/PythonRunner/PyodideRunner/VisualOutputPane.test.js b/src/components/Editor/Runners/PythonRunner/PyodideRunner/VisualOutputPane.test.js
index bcb314570..12e061336 100644
--- a/src/components/Editor/Runners/PythonRunner/PyodideRunner/VisualOutputPane.test.js
+++ b/src/components/Editor/Runners/PythonRunner/PyodideRunner/VisualOutputPane.test.js
@@ -5,6 +5,8 @@ import { Provider } from "react-redux";
import VisualOutputPane from "./VisualOutputPane.jsx";
import Highcharts from "highcharts";
+import "../../../../../consoleMock";
+
jest.mock("highcharts");
const renderPaneWithVisuals = (visuals) => {
diff --git a/src/components/Editor/Runners/PythonRunner/PythonRunner.test.js b/src/components/Editor/Runners/PythonRunner/PythonRunner.test.js
index b92f9cf3f..7ff08f78c 100644
--- a/src/components/Editor/Runners/PythonRunner/PythonRunner.test.js
+++ b/src/components/Editor/Runners/PythonRunner/PythonRunner.test.js
@@ -1,6 +1,6 @@
import { render, within } from "@testing-library/react";
import { Provider } from "react-redux";
-import { act } from "react-dom/test-utils";
+import { act } from "react";
import PythonRunner from "./PythonRunner";
import {
triggerCodeRun,
@@ -8,6 +8,7 @@ import {
setSenseHatAlwaysEnabled,
} from "../../../../redux/EditorSlice";
import store from "../../../../app/store";
+import "../../../../consoleMock";
const initialState = {
editor: {
diff --git a/src/components/Menus/ContextMenu/ContextMenu.test.js b/src/components/Menus/ContextMenu/ContextMenu.test.js
index f14830fe2..43f567acf 100644
--- a/src/components/Menus/ContextMenu/ContextMenu.test.js
+++ b/src/components/Menus/ContextMenu/ContextMenu.test.js
@@ -3,6 +3,8 @@ import { fireEvent, render, screen } from "@testing-library/react";
import { axe, toHaveNoViolations } from "jest-axe";
import ContextMenu from "./ContextMenu";
+import "../../../consoleMock";
+
expect.extend(toHaveNoViolations);
const action1 = jest.fn();
diff --git a/src/components/Menus/Sidebar/DownloadPanel/DownloadPanel.test.js b/src/components/Menus/Sidebar/DownloadPanel/DownloadPanel.test.js
index c5fb0852e..ee9693d77 100644
--- a/src/components/Menus/Sidebar/DownloadPanel/DownloadPanel.test.js
+++ b/src/components/Menus/Sidebar/DownloadPanel/DownloadPanel.test.js
@@ -5,6 +5,8 @@ import { MemoryRouter } from "react-router";
import configureStore from "redux-mock-store";
import FileSaver from "file-saver";
+import "../../../../consoleMock";
+
jest.mock("file-saver");
jest.mock("jszip");
jest.mock("jszip-utils", () => ({
diff --git a/src/components/Menus/Sidebar/FilePanel/FilePanel.test.js b/src/components/Menus/Sidebar/FilePanel/FilePanel.test.js
index 79ee794d7..62e5b1e61 100644
--- a/src/components/Menus/Sidebar/FilePanel/FilePanel.test.js
+++ b/src/components/Menus/Sidebar/FilePanel/FilePanel.test.js
@@ -6,6 +6,8 @@ import configureStore from "redux-mock-store";
import FilePanel from "./FilePanel";
import { openFile, setFocussedFileIndex } from "../../../../redux/EditorSlice";
+import "../../../../consoleMock";
+
const createMockStore = function ({ components, openFiles = [[]], readOnly }) {
const mockStore = configureStore([]);
return mockStore({
diff --git a/src/components/Menus/Sidebar/ProjectsPanel/ProjectsPanel.test.js b/src/components/Menus/Sidebar/ProjectsPanel/ProjectsPanel.test.js
index f759e4e3b..f68334cec 100644
--- a/src/components/Menus/Sidebar/ProjectsPanel/ProjectsPanel.test.js
+++ b/src/components/Menus/Sidebar/ProjectsPanel/ProjectsPanel.test.js
@@ -6,6 +6,8 @@ import { MemoryRouter } from "react-router-dom";
import ProjectsPanel from "./ProjectsPanel";
+import "../../../../consoleMock";
+
document.dispatchEvent = jest.fn();
const initialState = {
diff --git a/src/components/Menus/Sidebar/Sidebar.test.js b/src/components/Menus/Sidebar/Sidebar.test.js
index 6852ba038..60bb93d73 100644
--- a/src/components/Menus/Sidebar/Sidebar.test.js
+++ b/src/components/Menus/Sidebar/Sidebar.test.js
@@ -4,6 +4,8 @@ import Sidebar from "./Sidebar";
import configureStore from "redux-mock-store";
import { Provider } from "react-redux";
+import "../../../consoleMock";
+
let images = [
{
url: "path/to/image1",
diff --git a/src/components/Menus/Sidebar/SidebarBar.test.js b/src/components/Menus/Sidebar/SidebarBar.test.js
index 1d0b52051..23f3b1640 100644
--- a/src/components/Menus/Sidebar/SidebarBar.test.js
+++ b/src/components/Menus/Sidebar/SidebarBar.test.js
@@ -4,6 +4,8 @@ import configureStore from "redux-mock-store";
import { Provider } from "react-redux";
import SidebarBar from "./SidebarBar";
+import "../../../consoleMock"
+
const toggleOption = jest.fn();
const mockStore = configureStore([]);
diff --git a/src/components/Mobile/MobileProject/MobileProject.test.js b/src/components/Mobile/MobileProject/MobileProject.test.js
index 7893a8ecf..ac2d600d8 100644
--- a/src/components/Mobile/MobileProject/MobileProject.test.js
+++ b/src/components/Mobile/MobileProject/MobileProject.test.js
@@ -5,6 +5,8 @@ import configureStore from "redux-mock-store";
import MobileProject from "./MobileProject";
import { showSidebar } from "../../../redux/EditorSlice";
+import "../../../consoleMock";
+
window.HTMLElement.prototype.scrollIntoView = jest.fn();
const middlewares = [];
diff --git a/src/components/Modals/AccessDeniedWithAuthModal.test.js b/src/components/Modals/AccessDeniedWithAuthModal.test.js
index b4deeedfe..035d39302 100644
--- a/src/components/Modals/AccessDeniedWithAuthModal.test.js
+++ b/src/components/Modals/AccessDeniedWithAuthModal.test.js
@@ -6,6 +6,8 @@ import AccessDeniedWithAuthModal from "./AccessDeniedWithAuthModal";
import { syncProject } from "../../redux/EditorSlice";
import { defaultPythonProject } from "../../utils/defaultProjects";
+import "../../consoleMock"
+
jest.mock("../../redux/EditorSlice", () => ({
...jest.requireActual("../../redux/EditorSlice"),
syncProject: jest.fn((_) => jest.fn()),
diff --git a/src/components/Modals/ErrorModal.test.js b/src/components/Modals/ErrorModal.test.js
index e9a9ac0fa..c1bfd0988 100644
--- a/src/components/Modals/ErrorModal.test.js
+++ b/src/components/Modals/ErrorModal.test.js
@@ -5,6 +5,8 @@ import configureStore from "redux-mock-store";
import ErrorModal from "./ErrorModal";
import { closeErrorModal, setError } from "../../redux/EditorSlice";
+import "../../consoleMock"
+
const middlewares = [];
const mockStore = configureStore(middlewares);
diff --git a/src/components/Modals/GeneralModal.test.js b/src/components/Modals/GeneralModal.test.js
index 8bad7a18c..672aaff1a 100644
--- a/src/components/Modals/GeneralModal.test.js
+++ b/src/components/Modals/GeneralModal.test.js
@@ -2,6 +2,8 @@ import { fireEvent, render, screen } from "@testing-library/react";
import React from "react";
import GeneralModal from "./GeneralModal";
+import "../../consoleMock";
+
const defaultCallback = jest.fn();
const closeModal = jest.fn();
diff --git a/src/components/Modals/InputModal.test.js b/src/components/Modals/InputModal.test.js
index b41c18c4d..5e106dfc7 100644
--- a/src/components/Modals/InputModal.test.js
+++ b/src/components/Modals/InputModal.test.js
@@ -15,20 +15,21 @@ beforeEach(() => {
},
};
const store = mockStore(initialState);
+ const app = document.createElement("div");
+ app.setAttribute("id", "app");
+ document.body.appendChild(app);
render(
-
-
-
+ ,
,
);
inputBox = screen.getByLabelText(/input/);
diff --git a/src/components/Modals/NewFileModal.test.js b/src/components/Modals/NewFileModal.test.js
index 8b0035fbf..7478906c8 100644
--- a/src/components/Modals/NewFileModal.test.js
+++ b/src/components/Modals/NewFileModal.test.js
@@ -3,6 +3,8 @@ import { fireEvent, render, screen } from "@testing-library/react";
import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
+import "../../consoleMock"
+
import NewFileModal from "./NewFileModal";
import {
addProjectComponent,
diff --git a/src/components/Modals/NotFoundModal.test.js b/src/components/Modals/NotFoundModal.test.js
index e610785cf..f0dbfe1e9 100644
--- a/src/components/Modals/NotFoundModal.test.js
+++ b/src/components/Modals/NotFoundModal.test.js
@@ -6,6 +6,8 @@ import NotFoundModal from "./NotFoundModal";
import { closeNotFoundModal, syncProject } from "../../redux/EditorSlice";
import { defaultPythonProject } from "../../utils/defaultProjects";
+import "../../consoleMock"
+
jest.mock("../../redux/EditorSlice", () => ({
...jest.requireActual("../../redux/EditorSlice"),
syncProject: jest.fn((_) => jest.fn()),
diff --git a/src/components/Modals/RenameFileModal.test.js b/src/components/Modals/RenameFileModal.test.js
index 112f9b16a..b09e10922 100644
--- a/src/components/Modals/RenameFileModal.test.js
+++ b/src/components/Modals/RenameFileModal.test.js
@@ -3,6 +3,8 @@ import { fireEvent, render, screen } from "@testing-library/react";
import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
+import "../../consoleMock";
+
import RenameFileModal from "./RenameFileModal";
import {
setNameError,
diff --git a/src/components/Modals/RenameProjectModal.test.js b/src/components/Modals/RenameProjectModal.test.js
index 86bc364c3..85018029e 100644
--- a/src/components/Modals/RenameProjectModal.test.js
+++ b/src/components/Modals/RenameProjectModal.test.js
@@ -3,6 +3,7 @@ import { fireEvent, render, screen, waitFor } from "@testing-library/react";
import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
import { MockedProvider } from "@apollo/client/testing";
+import "../../consoleMock"
import {
RenameProjectModal,
diff --git a/src/components/ProjectBar/ProjectBar.test.js b/src/components/ProjectBar/ProjectBar.test.js
index cbfd6e720..df34c0008 100644
--- a/src/components/ProjectBar/ProjectBar.test.js
+++ b/src/components/ProjectBar/ProjectBar.test.js
@@ -5,6 +5,8 @@ import configureStore from "redux-mock-store";
import { MemoryRouter } from "react-router-dom";
import ProjectBar from "./ProjectBar";
+import "../../consoleMock";
+
jest.mock("axios");
jest.mock("react-router-dom", () => ({
diff --git a/src/components/ProjectName/ProjectName.test.js b/src/components/ProjectName/ProjectName.test.js
index fa002ba07..c001d8ba5 100644
--- a/src/components/ProjectName/ProjectName.test.js
+++ b/src/components/ProjectName/ProjectName.test.js
@@ -7,6 +7,8 @@ import userEvent from "@testing-library/user-event";
import ProjectName from "./ProjectName";
import { updateProjectName } from "../../redux/EditorSlice";
+import "../../consoleMock";
+
const project = {
identifier: "hello-world-project",
name: "Hello world",
diff --git a/src/components/SaveButton/SaveButton.test.js b/src/components/SaveButton/SaveButton.test.js
index 146720e0d..8c5ccbf15 100644
--- a/src/components/SaveButton/SaveButton.test.js
+++ b/src/components/SaveButton/SaveButton.test.js
@@ -4,6 +4,7 @@ import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
import { triggerSave } from "../../redux/EditorSlice";
import SaveButton from "./SaveButton";
+import "../../consoleMock"
const logInHandler = jest.fn();
diff --git a/src/components/WebComponentProject/WebComponentProject.test.js b/src/components/WebComponentProject/WebComponentProject.test.js
index 4a303121b..ae9e3c38b 100644
--- a/src/components/WebComponentProject/WebComponentProject.test.js
+++ b/src/components/WebComponentProject/WebComponentProject.test.js
@@ -3,6 +3,7 @@ import { act, render, screen } from "@testing-library/react";
import { Provider } from "react-redux";
import configureStore from "redux-mock-store";
import WebComponentProject from "./WebComponentProject";
+import "../../consoleMock";
const codeChangedHandler = jest.fn();
const runStartedHandler = jest.fn();
diff --git a/src/consoleMock.js b/src/consoleMock.js
new file mode 100644
index 000000000..c9b2018fd
--- /dev/null
+++ b/src/consoleMock.js
@@ -0,0 +1,36 @@
+const originalError = console.error;
+const originalWarn = console.warn;
+
+window.console.warn = (msg) => {
+ if (msg.includes("DEPRECATED: icons as React elements will not be supported in future releases") ||
+ msg.includes("PyodideWorker is not initialized") ||
+ msg.includes("changing the droppableId")) {
+ return;
+ }
+
+ originalWarn(msg);
+}
+
+window.console.error = (error) => {
+ let msg;
+ if (typeof(error) === "object") {
+ msg = error.message;
+ } else {
+ msg = error;
+ }
+
+ if (msg.includes("inside a test was not wrapped in act(...)") ||
+ msg.includes("Warning: Invalid value for prop") ||
+ msg.includes("getClientRects is not a function") ||
+ msg.includes("An error occurred! For more details, see the full error text at") ||
+ msg.includes("Warning: react-modal: App element is not defined") ||
+ msg.includes("Support for defaultProps will be removed from function components") ||
+ msg.includes("A component is changing a controlled input to be uncontrolled") ||
+ msg.includes("Unsupported origin: unsupported") ||
+ msg.includes("Consider adding an error boundary to your tree") ||
+ msg.includes("Each child in a list should have a unique")) {
+ return;
+ }
+
+ originalError(error);
+}
diff --git a/src/containers/WebComponentLoader.test.js b/src/containers/WebComponentLoader.test.js
index 34c5bac4f..0df653170 100644
--- a/src/containers/WebComponentLoader.test.js
+++ b/src/containers/WebComponentLoader.test.js
@@ -16,6 +16,8 @@ import { useProjectPersistence } from "../hooks/useProjectPersistence";
import localStorageUserMiddleware from "../redux/middlewares/localStorageUserMiddleware";
import { Cookies, CookiesProvider } from "react-cookie";
+import "../consoleMock";
+
jest.mock("../hooks/useProject", () => ({
useProject: jest.fn(),
}));
diff --git a/src/utils/ResizableWithHandle.test.js b/src/utils/ResizableWithHandle.test.js
index 79f6b76bf..38ffa0415 100644
--- a/src/utils/ResizableWithHandle.test.js
+++ b/src/utils/ResizableWithHandle.test.js
@@ -3,18 +3,18 @@ import { render, screen } from "@testing-library/react";
import ResizableWithHandle from "./ResizableWithHandle";
test("renders a horizontal handle", () => {
- render();
+ render(
);
expect(screen.getByTestId("horizontalHandle")).toBeTruthy();
});
test("renders a vertical handle", () => {
- render();
+ render(
);
expect(screen.getByTestId("verticalHandle")).toBeTruthy();
});
test("it does not add an incorrect class to the handle", () => {
const { container } = render(
- ,
+
,
);
expect(
container.getElementsByClassName("resizable-with-handle__handle--right")
@@ -24,7 +24,7 @@ test("it does not add an incorrect class to the handle", () => {
test("it adds the expected class to the handle", () => {
const { container } = render(
- ,
+
,
);
expect(
container.getElementsByClassName("resizable-with-handle__handle--bottom")
diff --git a/yarn.lock b/yarn.lock
index ab941ab3b..83585cfec 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -113,7 +113,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.7, @babel/code-frame@npm:^7.5.5":
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.7, @babel/code-frame@npm:^7.5.5":
version: 7.25.7
resolution: "@babel/code-frame@npm:7.25.7"
dependencies:
@@ -123,6 +123,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/code-frame@npm:^7.10.4":
+ version: 7.26.2
+ resolution: "@babel/code-frame@npm:7.26.2"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.25.9
+ js-tokens: ^4.0.0
+ picocolors: ^1.0.0
+ checksum: db13f5c42d54b76c1480916485e6900748bbcb0014a8aca87f50a091f70ff4e0d0a6db63cade75eb41fcc3d2b6ba0a7f89e343def4f96f00269b41b8ab8dd7b8
+ languageName: node
+ linkType: hard
+
"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8":
version: 7.25.8
resolution: "@babel/compat-data@npm:7.25.8"
@@ -352,6 +363,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-identifier@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-identifier@npm:7.25.9"
+ checksum: 5b85918cb1a92a7f3f508ea02699e8d2422fe17ea8e82acd445006c0ef7520fbf48e3dbcdaf7b0a1d571fc3a2715a29719e5226636cb6042e15fe6ed2a590944
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.25.7":
version: 7.25.7
resolution: "@babel/helper-validator-option@npm:7.25.7"
@@ -2753,7 +2771,7 @@ __metadata:
"@svgr/webpack": 5.5.0
"@szhsin/react-menu": ^3.2.0
"@testing-library/jest-dom": ^5.16.5
- "@testing-library/react": ^13.2.0
+ "@testing-library/react": ^14.3.1
"@testing-library/user-event": ^12.1.10
"@typescript-eslint/eslint-plugin": ^4.5.0
"@typescript-eslint/parser": ^4.5.0
@@ -3494,9 +3512,9 @@ __metadata:
languageName: node
linkType: hard
-"@testing-library/dom@npm:^8.5.0":
- version: 8.20.1
- resolution: "@testing-library/dom@npm:8.20.1"
+"@testing-library/dom@npm:^9.0.0":
+ version: 9.3.4
+ resolution: "@testing-library/dom@npm:9.3.4"
dependencies:
"@babel/code-frame": ^7.10.4
"@babel/runtime": ^7.12.5
@@ -3506,7 +3524,7 @@ __metadata:
dom-accessibility-api: ^0.5.9
lz-string: ^1.5.0
pretty-format: ^27.0.2
- checksum: 06fc8dc67849aadb726cbbad0e7546afdf8923bd39acb64c576d706249bd7d0d05f08e08a31913fb621162e3b9c2bd0dce15964437f030f9fa4476326fdd3007
+ checksum: dfd6fb0d6c7b4dd716ba3c47309bc9541b4a55772cb61758b4f396b3785efe2dbc75dc63423545c039078c7ffcc5e4b8c67c2db1b6af4799580466036f70026f
languageName: node
linkType: hard
@@ -3527,17 +3545,17 @@ __metadata:
languageName: node
linkType: hard
-"@testing-library/react@npm:^13.2.0":
- version: 13.4.0
- resolution: "@testing-library/react@npm:13.4.0"
+"@testing-library/react@npm:^14.3.1":
+ version: 14.3.1
+ resolution: "@testing-library/react@npm:14.3.1"
dependencies:
"@babel/runtime": ^7.12.5
- "@testing-library/dom": ^8.5.0
+ "@testing-library/dom": ^9.0.0
"@types/react-dom": ^18.0.0
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
- checksum: 51ec548c1fdb1271089a5c63e0908f0166f2c7fcd9cacd3108ebbe0ce64cb4351812d885892020dc37608418cfb15698514856502b3cab0e5cc58d6cc1bd4a3e
+ checksum: b057d4c9db5a523acfc24d7bc4665a924ab8d6f252c7f51eecf7dd30f1239413e1134925fd5cc9cbdef80496af64c04e6719b2081f89fe05ba87e8c6305bcc16
languageName: node
linkType: hard
@@ -3936,11 +3954,11 @@ __metadata:
linkType: hard
"@types/react-dom@npm:^18.0.0":
- version: 18.3.1
- resolution: "@types/react-dom@npm:18.3.1"
- dependencies:
- "@types/react": "*"
- checksum: ad28ecce3915d30dc76adc2a1373fda1745ba429cea290e16c6628df9a05fd80b6403c8e87d78b45e6c60e51df7a67add389ab62b90070fbfdc9bda8307d9953
+ version: 18.3.5
+ resolution: "@types/react-dom@npm:18.3.5"
+ peerDependencies:
+ "@types/react": ^18.0.0
+ checksum: 95c757684f71e761515c5a11299e5feec550c72bb52975487f360e6f0d359b26454c26eaf2ce45dd22748205aa9b2c2fe0abe7005ebcbd233a7615283ac39a7d
languageName: node
linkType: hard