From 0f1873f4b3d6bf3ebee79f1e694f9f73f0dd2111 Mon Sep 17 00:00:00 2001
From: Oleg Gromov <mail@oleggromov.com>
Date: Mon, 18 Mar 2024 11:42:50 +0000
Subject: [PATCH] eslint: Disable testing-library/no-unnecessary-act (#40084)

---
 .eslintrc                                          | 14 ++++++++++++--
 .../FilterPicker/FilterPicker.unit.spec.tsx        |  1 -
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/.eslintrc b/.eslintrc
index b63f58f67ac..cea021514b4 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -42,7 +42,14 @@
           "orderImportKind": "asc",
           "caseInsensitive": false
         },
-        "groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
+        "groups": [
+          "builtin",
+          "external",
+          "internal",
+          "parent",
+          "sibling",
+          "index"
+        ],
         "warnOnUnassignedImports": false
       }
     ],
@@ -193,7 +200,10 @@
         "*.unit.spec.jsx"
       ],
       "rules": {
-        "jest/valid-title": ["error", { "ignoreTypeOfDescribeName": true }]
+        "jest/valid-title": ["error", { "ignoreTypeOfDescribeName": true }],
+        // In unit tests, you should use `act(() => {})` to invoke things causing state updates
+        // and rerenders to remove lengthy warnings from jest. Disabling the rule allows this.
+        "testing-library/no-unnecessary-act": "off"
       }
     }
   ]
diff --git a/frontend/src/metabase/querying/components/FilterPicker/FilterPicker.unit.spec.tsx b/frontend/src/metabase/querying/components/FilterPicker/FilterPicker.unit.spec.tsx
index 483ef257cab..a702e137509 100644
--- a/frontend/src/metabase/querying/components/FilterPicker/FilterPicker.unit.spec.tsx
+++ b/frontend/src/metabase/querying/components/FilterPicker/FilterPicker.unit.spec.tsx
@@ -403,7 +403,6 @@ describe("FilterPicker", () => {
 
       // The expression editor applies changes on blur,
       // but for some reason it doesn't work without `act`.
-      // eslint-disable-next-line testing-library/no-unnecessary-act
       await act(async () => {
         await userEvent.type(input, text, { delay });
         await userEvent.tab();
-- 
GitLab