diff --git a/frontend/src/metabase/containers/SaveQuestionModal.unit.spec.tsx b/frontend/src/metabase/containers/SaveQuestionModal.unit.spec.tsx
index 799f036c1d6041186a07a9456288ada529f4abd4..9bd8bf4a8168a1ca804b84eb441df2b954d8252a 100644
--- a/frontend/src/metabase/containers/SaveQuestionModal.unit.spec.tsx
+++ b/frontend/src/metabase/containers/SaveQuestionModal.unit.spec.tsx
@@ -11,7 +11,10 @@ import {
 import { setupEnterpriseTest } from "__support__/enterprise";
 import { mockSettings } from "__support__/settings";
 import type { CollectionEndpoints } from "__support__/server-mocks";
-import { setupCollectionsEndpoints } from "__support__/server-mocks";
+import {
+  setupCollectionsEndpoints,
+  setupCollectionByIdEndpoint,
+} from "__support__/server-mocks";
 import {
   createMockQueryBuilderState,
   createMockState,
@@ -35,27 +38,24 @@ const metadata = createMockMetadata({
   databases: [createSampleDatabase()],
 });
 
-const TEST_COLLECTIONS = [
-  {
-    can_write: false,
-    effective_ancestors: [],
-    effective_location: null,
-    id: "root",
-    name: "Our analytics",
-    parent_id: null,
-  },
-  {
-    archived: false,
-    can_write: true,
-    description: null,
-    id: 1,
-    location: "/",
-    name: "Bobby Tables's Personal Collection",
-    namespace: null,
-    personal_owner_id: 100,
-    slug: "bobby_tables_s_personal_collection",
-  },
-];
+const BOBBY_TEST_COLLECTION = createMockCollection({
+  archived: false,
+  can_write: true,
+  description: null,
+  id: 1,
+  location: "/",
+  name: "Bobby Tables's Personal Collection",
+  personal_owner_id: 100,
+});
+
+const ROOT_TEST_COLLECTION = createMockCollection({
+  ...ROOT_COLLECTION,
+  can_write: false,
+  effective_ancestors: [],
+  id: "root",
+});
+
+const TEST_COLLECTIONS = [ROOT_TEST_COLLECTION, BOBBY_TEST_COLLECTION];
 
 const setup = async (
   question: Question,
@@ -76,7 +76,8 @@ const setup = async (
     setupCollectionsEndpoints(collectionEndpoints);
   } else {
     fetchMock.get("path:/api/collection", TEST_COLLECTIONS);
-    fetchMock.get("path:/api/collection/root", TEST_COLLECTIONS);
+    fetchMock.get("path:/api/collection/root", ROOT_TEST_COLLECTION);
+    setupCollectionByIdEndpoint({ collections: [BOBBY_TEST_COLLECTION] });
   }
 
   const settings = mockSettings({ "enable-query-caching": isCachingEnabled });
@@ -714,6 +715,7 @@ describe("SaveQuestionModal", () => {
             rootCollection: COLLECTION.ROOT,
           },
         });
+        setupCollectionByIdEndpoint({ collections: [COLLECTION.PARENT] });
       });
 
       it("should create collection inside nested folder", async () => {
diff --git a/frontend/src/metabase/models/containers/ModelDetailPage/ModelDetailPage.tsx b/frontend/src/metabase/models/containers/ModelDetailPage/ModelDetailPage.tsx
index 2013df5996d0465e54a8b9e8164db57b045e35d8..7bd6afd64c0af8195ed96847d5be293d4f079fe9 100644
--- a/frontend/src/metabase/models/containers/ModelDetailPage/ModelDetailPage.tsx
+++ b/frontend/src/metabase/models/containers/ModelDetailPage/ModelDetailPage.tsx
@@ -111,7 +111,9 @@ function ModelDetailPage({
     const card = model.card();
     const isModel = model.isDataset();
     if (isModel) {
-      loadMetadataForCard(card);
+      if (model.database()) {
+        loadMetadataForCard(card);
+      }
     } else {
       onChangeLocation(Urls.question(card));
     }
diff --git a/frontend/test/jest-setup-env.js b/frontend/test/jest-setup-env.js
index f55aa3bf5e3934e7d86e8c5983506fa7c5944a27..a604ed7e52fb5ba812664a1a1c7618b682b59a26 100644
--- a/frontend/test/jest-setup-env.js
+++ b/frontend/test/jest-setup-env.js
@@ -2,4 +2,12 @@ import fetchMock from "fetch-mock";
 
 beforeEach(() => {
   fetchMock.restore();
+  fetchMock.catch((url, request) => {
+    const errorMessage = `Caught unmocked ${request.method} request to: ${url}`;
+
+    Promise.reject(errorMessage);
+
+    // consider all not mocked requests are broken
+    return 500;
+  });
 });