From 4fdf2b85bfb411844890f28291adf129503a060e Mon Sep 17 00:00:00 2001
From: Ariya Hidayat <ariya@metabase.com>
Date: Mon, 12 Jul 2021 17:07:31 -0700
Subject: [PATCH] When running some Jest unit tests, use a MutationObserver
 shim (#16985)

---
 .../test/metabase/components/FieldValuesWidget.unit.spec.js  | 1 +
 frontend/test/metabase/containers/Overworld.unit.spec.js     | 1 +
 .../entities/containers/EntityListLoader.unit.spec.js        | 1 +
 package.json                                                 | 1 +
 yarn.lock                                                    | 5 +++++
 5 files changed, 9 insertions(+)

diff --git a/frontend/test/metabase/components/FieldValuesWidget.unit.spec.js b/frontend/test/metabase/components/FieldValuesWidget.unit.spec.js
index 30d83ada15a..984e0166f4f 100644
--- a/frontend/test/metabase/components/FieldValuesWidget.unit.spec.js
+++ b/frontend/test/metabase/components/FieldValuesWidget.unit.spec.js
@@ -1,5 +1,6 @@
 import React from "react";
 import { render, screen } from "@testing-library/react";
+import "mutationobserver-shim";
 
 import { ORDERS, PRODUCTS, PEOPLE } from "__support__/sample_dataset_fixture";
 import { FieldValuesWidget } from "metabase/components/FieldValuesWidget";
diff --git a/frontend/test/metabase/containers/Overworld.unit.spec.js b/frontend/test/metabase/containers/Overworld.unit.spec.js
index bc1945c009f..ad7d7646dba 100644
--- a/frontend/test/metabase/containers/Overworld.unit.spec.js
+++ b/frontend/test/metabase/containers/Overworld.unit.spec.js
@@ -6,6 +6,7 @@ import {
 
 import "@testing-library/jest-dom/extend-expect";
 import { fireEvent, render, screen } from "@testing-library/react";
+import "mutationobserver-shim";
 
 const PIN_MESSAGE_DESCRIPTION = "Your team's most important dashboards go here";
 const PIN_MESSAGE_HINT =
diff --git a/frontend/test/metabase/entities/containers/EntityListLoader.unit.spec.js b/frontend/test/metabase/entities/containers/EntityListLoader.unit.spec.js
index 129d9b6c76b..83d4362fe62 100644
--- a/frontend/test/metabase/entities/containers/EntityListLoader.unit.spec.js
+++ b/frontend/test/metabase/entities/containers/EntityListLoader.unit.spec.js
@@ -2,6 +2,7 @@
 import React from "react";
 
 import { render } from "@testing-library/react";
+import "mutationobserver-shim";
 import EntityListLoader from "metabase/entities/containers/EntityListLoader";
 import { Provider } from "react-redux";
 
diff --git a/package.json b/package.json
index 1a91fb13c4d..ec677744126 100644
--- a/package.json
+++ b/package.json
@@ -138,6 +138,7 @@
     "jsonwebtoken": "^7.2.1",
     "lint-staged": "^3.3.1",
     "mockdate": "^2.0.2",
+    "mutationobserver-shim": "^0.3.7",
     "postcss-cssnext": "^2.4.0",
     "postcss-import": "^9.0.0",
     "postcss-loader": "^2.0.8",
diff --git a/yarn.lock b/yarn.lock
index 20d6287f87f..a954a35ba5d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9175,6 +9175,11 @@ mustache@^2.3.2:
   resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5"
   integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==
 
+mutationobserver-shim@^0.3.7:
+  version "0.3.7"
+  resolved "https://registry.yarnpkg.com/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz#8bf633b0c0b0291a1107255ed32c13088a8c5bf3"
+  integrity sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==
+
 mz@^2.6.0:
   version "2.7.0"
   resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
-- 
GitLab