From 895d0192b63bf2934469ba61315ab67383f31652 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 14 Sep 2022 12:32:42 -0400 Subject: [PATCH] Convert DirectoryForUserData to LazyInitializableState Signed-off-by: Sebastian Malton --- src/common/__tests__/base-store.test.ts | 6 ++++-- src/common/__tests__/cluster-store.test.ts | 6 ++++-- src/common/__tests__/hotbar-store.test.ts | 6 ++++-- src/common/__tests__/user-store.test.ts | 6 ++++-- .../app-paths/directory-for-binaries.injectable.ts | 2 +- .../directory-for-kube-configs.injectable.ts | 10 +++++----- .../app-paths/directory-for-user-data.injectable.ts | 13 +++++++++++++ .../directory-for-user-data.injectable.ts | 13 ------------- src/common/base-store.ts | 6 +++--- .../directory-for-lens-local-storage.injectable.ts | 13 +++++-------- .../user-store/file-name-migration.injectable.ts | 4 ++-- .../extension-discovery/extension-discovery.test.ts | 6 ++++-- .../extension-package-root-directory.injectable.ts | 3 +-- .../directory-for-extension-data.injectable.ts | 10 +++++----- .../extension-packages-root.injectable.ts | 2 +- src/main/__test__/cluster.test.ts | 6 ++++-- src/main/__test__/kube-auth-proxy.test.ts | 6 ++++-- src/main/__test__/kubeconfig-manager.test.ts | 6 ++++-- .../__test__/kubeconfig-sync.test.ts | 13 +++++++++++-- src/main/protocol-handler/__test__/router.test.ts | 6 ++++-- src/main/router/router.test.ts | 6 ++++-- src/migrations/cluster-store/3.6.0-beta.1.ts | 11 ++++------- src/migrations/cluster-store/5.0.0-beta.10.ts | 4 ++-- src/migrations/cluster-store/5.0.0-beta.13.ts | 4 ++-- src/migrations/hotbar-store/5.0.0-beta.10.ts | 4 ++-- src/migrations/user-store/5.0.3-beta.1.ts | 4 ++-- src/renderer/components/+catalog/catalog.test.tsx | 6 ++++-- .../+extensions/__tests__/extensions.test.tsx | 6 ++++-- .../+namespaces/namespace-select-filter.test.tsx | 6 ++++-- .../+role-bindings/__tests__/dialog.test.tsx | 6 ++++-- .../components/dock/__test__/dock-store.test.ts | 6 ++++-- .../components/dock/__test__/dock-tabs.test.tsx | 9 ++++----- .../logs/__test__/log-resource-selector.test.tsx | 6 ++++-- .../hotbar/__tests__/hotbar-remove-command.test.tsx | 6 ++++-- src/renderer/components/select/select.test.tsx | 6 ++++-- .../components/status-bar/status-bar.test.tsx | 6 ++++-- .../frames/cluster-frame/cluster-frame.test.tsx | 6 ++++-- src/renderer/search-store/search-store.test.ts | 6 ++++-- 38 files changed, 147 insertions(+), 104 deletions(-) create mode 100644 src/common/app-paths/directory-for-user-data.injectable.ts delete mode 100644 src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts diff --git a/src/common/__tests__/base-store.test.ts b/src/common/__tests__/base-store.test.ts index e6b1c2d1d2..c21d8649ef 100644 --- a/src/common/__tests__/base-store.test.ts +++ b/src/common/__tests__/base-store.test.ts @@ -7,7 +7,7 @@ import mockFs from "mock-fs"; import { BaseStore } from "../base-store"; import { action, comparer, makeObservable, observable, toJS } from "mobx"; import { readFileSync } from "fs"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; import { getDiForUnitTesting } from "../../main/getDiForUnitTesting"; import getConfigurationFileModelInjectable from "../get-configuration-file-model/get-configuration-file-model.injectable"; @@ -79,7 +79,9 @@ describe("BaseStore", () => { beforeEach(() => { const mainDi = getDiForUnitTesting({ doGeneralOverrides: true }); - mainDi.override(directoryForUserDataInjectable, () => "some-user-data-directory"); + mainDi.override(directoryForUserDataInjectable, () => ({ + get: () => "some-user-data-directory", + })); mainDi.permitSideEffects(getConfigurationFileModelInjectable); TestStore.resetInstance(); diff --git a/src/common/__tests__/cluster-store.test.ts b/src/common/__tests__/cluster-store.test.ts index 2253c7662f..b5d173b976 100644 --- a/src/common/__tests__/cluster-store.test.ts +++ b/src/common/__tests__/cluster-store.test.ts @@ -15,7 +15,7 @@ import clusterStoreInjectable from "../cluster-store/cluster-store.injectable"; import type { DiContainer } from "@ogre-tools/injectable"; import type { CreateCluster } from "../cluster/create-cluster-injection-token"; import { createClusterInjectionToken } from "../cluster/create-cluster-injection-token"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; import { getDiForUnitTesting } from "../../main/getDiForUnitTesting"; import getConfigurationFileModelInjectable from "../get-configuration-file-model/get-configuration-file-model.injectable"; import assert from "assert"; @@ -86,7 +86,9 @@ describe("cluster-store", () => { mockFs(); - mainDi.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + mainDi.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); mainDi.override(directoryForTempInjectable, () => "some-temp-directory"); mainDi.override(kubectlBinaryNameInjectable, () => "kubectl"); mainDi.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); diff --git a/src/common/__tests__/hotbar-store.test.ts b/src/common/__tests__/hotbar-store.test.ts index 0e1b3e27a2..27356a002b 100644 --- a/src/common/__tests__/hotbar-store.test.ts +++ b/src/common/__tests__/hotbar-store.test.ts @@ -17,7 +17,7 @@ import hasCategoryForEntityInjectable from "../catalog/has-category-for-entity.i import catalogCatalogEntityInjectable from "../catalog-entities/general-catalog-entities/implementations/catalog-catalog-entity.injectable"; import loggerInjectable from "../logger.injectable"; import type { Logger } from "../logger"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; import storeMigrationVersionInjectable from "../vars/store-migration-version.injectable"; function getMockCatalogEntity(data: Partial & CatalogEntityKindData): CatalogEntity { @@ -100,7 +100,9 @@ describe("HotbarStore", () => { di.override(loggerInjectable, () => loggerMock); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); const catalogEntityRegistry = di.inject(catalogEntityRegistryInjectable); const catalogCatalogEntity = di.inject(catalogCatalogEntityInjectable); diff --git a/src/common/__tests__/user-store.test.ts b/src/common/__tests__/user-store.test.ts index eeadbc1e6c..f27bddbbd2 100644 --- a/src/common/__tests__/user-store.test.ts +++ b/src/common/__tests__/user-store.test.ts @@ -26,7 +26,7 @@ import { Console } from "console"; import { stdout, stderr } from "process"; import userStoreInjectable from "../user-store/user-store.injectable"; import type { DiContainer } from "@ogre-tools/injectable"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; import type { ClusterStoreModel } from "../cluster-store/cluster-store"; import { defaultThemeId } from "../vars"; import writeFileInjectable from "../fs/write-file.injectable"; @@ -48,7 +48,9 @@ describe("user store tests", () => { mockFs(); di.override(writeFileInjectable, () => () => Promise.resolve()); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.permitSideEffects(getConfigurationFileModelInjectable); di.permitSideEffects(userStoreInjectable); diff --git a/src/common/app-paths/directory-for-binaries.injectable.ts b/src/common/app-paths/directory-for-binaries.injectable.ts index 720bf32281..13c22322e2 100644 --- a/src/common/app-paths/directory-for-binaries.injectable.ts +++ b/src/common/app-paths/directory-for-binaries.injectable.ts @@ -2,7 +2,7 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import directoryForUserDataInjectable from "./directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "./directory-for-user-data.injectable"; import { createLazyInitializableState } from "../initializable-state/create-lazy"; import joinPathsInjectable from "../path/join-paths.injectable"; diff --git a/src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts b/src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts index d49029572e..d7020ded16 100644 --- a/src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts +++ b/src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts @@ -2,18 +2,18 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { getInjectable } from "@ogre-tools/injectable"; -import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../directory-for-user-data.injectable"; import joinPathsInjectable from "../../path/join-paths.injectable"; +import { createLazyInitializableState } from "../../initializable-state/create-lazy"; -const directoryForKubeConfigsInjectable = getInjectable({ +const directoryForKubeConfigsInjectable = createLazyInitializableState({ id: "directory-for-kube-configs", - instantiate: (di) => { + init: (di) => { const joinPaths = di.inject(joinPathsInjectable); const directoryForUserData = di.inject(directoryForUserDataInjectable); - return joinPaths(directoryForUserData, "kubeconfigs"); + return joinPaths(directoryForUserData.get(), "kubeconfigs"); }, }); diff --git a/src/common/app-paths/directory-for-user-data.injectable.ts b/src/common/app-paths/directory-for-user-data.injectable.ts new file mode 100644 index 0000000000..8890a5b635 --- /dev/null +++ b/src/common/app-paths/directory-for-user-data.injectable.ts @@ -0,0 +1,13 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { createLazyInitializableState } from "../initializable-state/create-lazy"; +import { appPathsInjectionToken } from "./token"; + +const directoryForUserDataInjectable = createLazyInitializableState({ + id: "directory-for-user-data", + init: (di) => di.inject(appPathsInjectionToken).get().userData, +}); + +export default directoryForUserDataInjectable; diff --git a/src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts b/src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts deleted file mode 100644 index bff067b7e5..0000000000 --- a/src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import { appPathsInjectionToken } from "../app-path-injection-token"; - -const directoryForUserDataInjectable = getInjectable({ - id: "directory-for-user-data", - instantiate: (di) => di.inject(appPathsInjectionToken).userData, -}); - -export default directoryForUserDataInjectable; diff --git a/src/common/base-store.ts b/src/common/base-store.ts index 92383b328d..870125efce 100644 --- a/src/common/base-store.ts +++ b/src/common/base-store.ts @@ -17,7 +17,7 @@ import isEqual from "lodash/isEqual"; import { isTestEnv } from "./vars"; import { kebabCase } from "lodash"; import { getLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable from "./app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "./app-paths/directory-for-user-data.injectable"; import getConfigurationFileModelInjectable from "./get-configuration-file-model/get-configuration-file-model.injectable"; import storeMigrationVersionInjectable from "./vars/store-migration-version.injectable"; @@ -94,10 +94,10 @@ export abstract class BaseStore extends Singleton { return this.storeConfig?.path || ""; } - protected cwd() { + protected cwd(): string { const di = getLegacyGlobalDiForExtensionApi(); - return di.inject(directoryForUserDataInjectable); + return di.inject(directoryForUserDataInjectable).get(); } protected saveToFile(model: T) { diff --git a/src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts b/src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts index 11a8f3f7de..3c7d55bbfc 100644 --- a/src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts +++ b/src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts @@ -2,21 +2,18 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { getInjectable } from "@ogre-tools/injectable"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; +import { createLazyInitializableState } from "../initializable-state/create-lazy"; import joinPathsInjectable from "../path/join-paths.injectable"; -const directoryForLensLocalStorageInjectable = getInjectable({ +const directoryForLensLocalStorageInjectable = createLazyInitializableState({ id: "directory-for-lens-local-storage", - instantiate: (di) => { + init: (di) => { const joinPaths = di.inject(joinPathsInjectable); const directoryForUserData = di.inject(directoryForUserDataInjectable); - return joinPaths( - directoryForUserData, - "lens-local-storage", - ); + return joinPaths(directoryForUserData.get(), "lens-local-storage"); }, }); diff --git a/src/common/user-store/file-name-migration.injectable.ts b/src/common/user-store/file-name-migration.injectable.ts index 106f559ef0..22381d9b7c 100644 --- a/src/common/user-store/file-name-migration.injectable.ts +++ b/src/common/user-store/file-name-migration.injectable.ts @@ -4,7 +4,7 @@ */ import fse from "fs-extra"; -import directoryForUserDataInjectable from "../app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../app-paths/directory-for-user-data.injectable"; import { isErrnoException } from "../utils"; import { getInjectable } from "@ogre-tools/injectable"; import joinPathsInjectable from "../path/join-paths.injectable"; @@ -14,7 +14,7 @@ export type UserStoreFileNameMigration = () => Promise; const userStoreFileNameMigrationInjectable = getInjectable({ id: "user-store-file-name-migration", instantiate: (di): UserStoreFileNameMigration => { - const userDataPath = di.inject(directoryForUserDataInjectable); + const userDataPath = di.inject(directoryForUserDataInjectable).get(); const joinPaths = di.inject(joinPathsInjectable); const configJsonPath = joinPaths(userDataPath, "config.json"); const lensUserStoreJsonPath = joinPaths(userDataPath, "lens-user-store.json"); diff --git a/src/extensions/extension-discovery/extension-discovery.test.ts b/src/extensions/extension-discovery/extension-discovery.test.ts index f3630addaf..d373b15a36 100644 --- a/src/extensions/extension-discovery/extension-discovery.test.ts +++ b/src/extensions/extension-discovery/extension-discovery.test.ts @@ -8,7 +8,7 @@ import { getDiForUnitTesting } from "../../main/getDiForUnitTesting"; import extensionDiscoveryInjectable from "../extension-discovery/extension-discovery.injectable"; import type { ExtensionDiscovery } from "../extension-discovery/extension-discovery"; import installExtensionInjectable from "../extension-installer/install-extension/install-extension.injectable"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import { delay } from "../../renderer/utils"; import { observable, runInAction, when } from "mobx"; import readJsonFileInjectable from "../../common/fs/read-json-file.injectable"; @@ -31,7 +31,9 @@ describe("ExtensionDiscovery", () => { beforeEach(() => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "/some-directory-for-user-data", + })); di.override(installExtensionInjectable, () => () => Promise.resolve()); di.override(extensionApiVersionInjectable, () => "5.0.0"); diff --git a/src/extensions/extension-installer/extension-package-root-directory/extension-package-root-directory.injectable.ts b/src/extensions/extension-installer/extension-package-root-directory/extension-package-root-directory.injectable.ts index 6ab004ef6d..d43b38b8bc 100644 --- a/src/extensions/extension-installer/extension-package-root-directory/extension-package-root-directory.injectable.ts +++ b/src/extensions/extension-installer/extension-package-root-directory/extension-package-root-directory.injectable.ts @@ -3,8 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import directoryForUserDataInjectable - from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; const extensionPackageRootDirectoryInjectable = getInjectable({ id: "extension-package-root-directory", diff --git a/src/extensions/extension-loader/file-system-provisioner-store/directory-for-extension-data.injectable.ts b/src/extensions/extension-loader/file-system-provisioner-store/directory-for-extension-data.injectable.ts index 469ed85949..a5d6cffe1d 100644 --- a/src/extensions/extension-loader/file-system-provisioner-store/directory-for-extension-data.injectable.ts +++ b/src/extensions/extension-loader/file-system-provisioner-store/directory-for-extension-data.injectable.ts @@ -2,18 +2,18 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import { getInjectable } from "@ogre-tools/injectable"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; +import { createLazyInitializableState } from "../../../common/initializable-state/create-lazy"; import joinPathsInjectable from "../../../common/path/join-paths.injectable"; -const directoryForExtensionDataInjectable = getInjectable({ +const directoryForExtensionDataInjectable = createLazyInitializableState({ id: "directory-for-extension-data", - instantiate: (di) => { + init: (di) => { const joinPaths = di.inject(joinPathsInjectable); const directoryForUserData = di.inject(directoryForUserDataInjectable); - return joinPaths(directoryForUserData, "extension_data"); + return joinPaths(directoryForUserData.get(), "extension_data"); }, }); diff --git a/src/extensions/extension-packages-root/extension-packages-root.injectable.ts b/src/extensions/extension-packages-root/extension-packages-root.injectable.ts index 81e91c5e27..721b04eaaf 100644 --- a/src/extensions/extension-packages-root/extension-packages-root.injectable.ts +++ b/src/extensions/extension-packages-root/extension-packages-root.injectable.ts @@ -4,7 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import directoryForUserDataInjectable - from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; + from "../../common/app-paths/directory-for-user-data.injectable"; const extensionPackagesRootInjectable = getInjectable({ id: "extension-packages-root", diff --git a/src/main/__test__/cluster.test.ts b/src/main/__test__/cluster.test.ts index 0244141ab3..02fe113c50 100644 --- a/src/main/__test__/cluster.test.ts +++ b/src/main/__test__/cluster.test.ts @@ -14,7 +14,7 @@ import listNamespacesInjectable from "../../common/cluster/list-namespaces.injec import createContextHandlerInjectable from "../context-handler/create-context-handler.injectable"; import type { ClusterContextHandler } from "../context-handler/context-handler"; import { parse } from "url"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import directoryForTempInjectable from "../../common/app-paths/directory-for-temp/directory-for-temp.injectable"; import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable"; import kubectlBinaryNameInjectable from "../kubectl/binary-name.injectable"; @@ -32,7 +32,9 @@ describe("create clusters", () => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); const clusterServerUrl = "https://192.168.64.3:8443"; - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(directoryForTempInjectable, () => "some-directory-for-temp"); di.override(kubectlBinaryNameInjectable, () => "kubectl"); di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); diff --git a/src/main/__test__/kube-auth-proxy.test.ts b/src/main/__test__/kube-auth-proxy.test.ts index 47064ec215..29bfed5515 100644 --- a/src/main/__test__/kube-auth-proxy.test.ts +++ b/src/main/__test__/kube-auth-proxy.test.ts @@ -22,7 +22,7 @@ import { createClusterInjectionToken } from "../../common/cluster/create-cluster import path from "path"; import spawnInjectable from "../child-process/spawn.injectable"; import getConfigurationFileModelInjectable from "../../common/get-configuration-file-model/get-configuration-file-model.injectable"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import directoryForTempInjectable from "../../common/app-paths/directory-for-temp/directory-for-temp.injectable"; import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable"; import kubectlBinaryNameInjectable from "../kubectl/binary-name.injectable"; @@ -71,7 +71,9 @@ describe("kube auth proxy tests", () => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(directoryForTempInjectable, () => "some-directory-for-temp"); spawnMock = jest.fn(); diff --git a/src/main/__test__/kubeconfig-manager.test.ts b/src/main/__test__/kubeconfig-manager.test.ts index 6a33093cb4..61264b8dd1 100644 --- a/src/main/__test__/kubeconfig-manager.test.ts +++ b/src/main/__test__/kubeconfig-manager.test.ts @@ -13,7 +13,7 @@ import type { DiContainer } from "@ogre-tools/injectable"; import { parse } from "url"; import loggerInjectable from "../../common/logger.injectable"; import type { Logger } from "../../common/logger"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable"; import kubectlBinaryNameInjectable from "../kubectl/binary-name.injectable"; import kubectlDownloadingNormalizedArchInjectable from "../kubectl/normalized-arch.injectable"; @@ -46,7 +46,9 @@ describe("kubeconfig manager tests", () => { di = getDiForUnitTesting({ doGeneralOverrides: true }); di.override(directoryForTempInjectable, () => "/some-directory-for-temp"); - di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "/some-directory-for-user-data", + })); di.override(kubectlBinaryNameInjectable, () => "kubectl"); di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); di.override(normalizedPlatformInjectable, () => "darwin"); diff --git a/src/main/catalog-sources/__test__/kubeconfig-sync.test.ts b/src/main/catalog-sources/__test__/kubeconfig-sync.test.ts index 2998022e67..0afae049b0 100644 --- a/src/main/catalog-sources/__test__/kubeconfig-sync.test.ts +++ b/src/main/catalog-sources/__test__/kubeconfig-sync.test.ts @@ -8,7 +8,7 @@ import type { CatalogEntity } from "../../../common/catalog"; import { loadFromOptions } from "../../../common/kube-helpers"; import type { Cluster } from "../../../common/cluster/cluster"; import { getDiForUnitTesting } from "../../getDiForUnitTesting"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; import directoryForTempInjectable from "../../../common/app-paths/directory-for-temp/directory-for-temp.injectable"; import { iter, strictGet } from "../../../common/utils"; import type { ComputeKubeconfigDiff } from "../kubeconfig-sync/compute-diff.injectable"; @@ -30,6 +30,9 @@ import watchInjectable from "../../../common/fs/watch/watch.injectable"; import EventEmitter from "events"; import type { ReadStream, Stats } from "fs"; import createReadFileStreamInjectable from "../../../common/fs/create-read-file-stream.injectable"; +import kubectlBinaryNameInjectable from "../../kubectl/binary-name.injectable"; +import kubectlDownloadingNormalizedArchInjectable from "../../kubectl/normalized-arch.injectable"; +import normalizedPlatformInjectable from "../../../common/vars/normalized-platform.injectable"; describe("kubeconfig-sync.source tests", () => { let computeKubeconfigDiff: ComputeKubeconfigDiff; @@ -41,11 +44,17 @@ describe("kubeconfig-sync.source tests", () => { beforeEach(async () => { di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data"); di.override(directoryForTempInjectable, () => "/some-directory-for-temp"); clusters = new Map(); di.override(getClusterByIdInjectable, () => id => clusters.get(id)); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); + di.override(directoryForTempInjectable, () => "some-directory-for-temp"); + di.override(kubectlBinaryNameInjectable, () => "kubectl"); + di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); + di.override(normalizedPlatformInjectable, () => "darwin"); kubeconfigSyncs = observable.map(); diff --git a/src/main/protocol-handler/__test__/router.test.ts b/src/main/protocol-handler/__test__/router.test.ts index 55aecaa8a0..aa8c0e1861 100644 --- a/src/main/protocol-handler/__test__/router.test.ts +++ b/src/main/protocol-handler/__test__/router.test.ts @@ -17,7 +17,7 @@ import { LensExtension } from "../../../extensions/lens-extension"; import type { LensExtensionId } from "../../../extensions/lens-extension"; import type { ObservableMap } from "mobx"; import extensionInstancesInjectable from "../../../extensions/extension-loader/extension-instances.injectable"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; import broadcastMessageInjectable from "../../../common/ipc/broadcast-message.injectable"; function throwIfDefined(val: any): void { @@ -43,7 +43,9 @@ describe("protocol router tests", () => { di.permitSideEffects(getConfigurationFileModelInjectable); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); broadcastMessageMock = jest.fn(); di.override(broadcastMessageInjectable, () => broadcastMessageMock); diff --git a/src/main/router/router.test.ts b/src/main/router/router.test.ts index a557eaa6c1..98684c52ce 100644 --- a/src/main/router/router.test.ts +++ b/src/main/router/router.test.ts @@ -14,7 +14,7 @@ import asyncFn from "@async-fn/jest"; import parseRequestInjectable from "./parse-request.injectable"; import { contentTypes } from "./router-content-types"; import mockFs from "mock-fs"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import type { Route } from "./route"; import type { SetRequired } from "type-fest"; import normalizedPlatformInjectable from "../../common/vars/normalized-platform.injectable"; @@ -39,7 +39,9 @@ describe("router", () => { payload: "some-payload", mime: "some-mime", })); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(kubectlBinaryNameInjectable, () => "kubectl"); di.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64"); di.override(normalizedPlatformInjectable, () => "darwin"); diff --git a/src/migrations/cluster-store/3.6.0-beta.1.ts b/src/migrations/cluster-store/3.6.0-beta.1.ts index 5f6bdbc9b7..8c4024b92e 100644 --- a/src/migrations/cluster-store/3.6.0-beta.1.ts +++ b/src/migrations/cluster-store/3.6.0-beta.1.ts @@ -12,12 +12,9 @@ import type { MigrationDeclaration } from "../helpers"; import { migrationLog } from "../helpers"; import type { ClusterModel } from "../../common/cluster-types"; import { getLegacyGlobalDiForExtensionApi } from "../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable - from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; -import directoryForKubeConfigsInjectable - from "../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; -import getCustomKubeConfigDirectoryInjectable - from "../../common/app-paths/get-custom-kube-config-directory/get-custom-kube-config-directory.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; +import directoryForKubeConfigsInjectable from "../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; +import getCustomKubeConfigDirectoryInjectable from "../../common/app-paths/get-custom-kube-config-directory/get-custom-kube-config-directory.injectable"; import readFileSyncInjectable from "../../common/fs/read-file-sync.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; @@ -74,7 +71,7 @@ export default { if (clusterModel.preferences?.icon) { migrationLog(`migrating ${clusterModel.preferences.icon} for ${clusterModel.preferences.clusterName}`); const iconPath = clusterModel.preferences.icon.replace("store://", ""); - const fileData = fse.readFileSync(joinPaths(userDataPath, iconPath)); + const fileData = fse.readFileSync(joinPaths(userDataPath.get(), iconPath)); clusterModel.preferences.icon = `data:;base64,${fileData.toString("base64")}`; } else { diff --git a/src/migrations/cluster-store/5.0.0-beta.10.ts b/src/migrations/cluster-store/5.0.0-beta.10.ts index 97b94dc7f7..7945f050e8 100644 --- a/src/migrations/cluster-store/5.0.0-beta.10.ts +++ b/src/migrations/cluster-store/5.0.0-beta.10.ts @@ -7,7 +7,7 @@ import fse from "fs-extra"; import type { ClusterModel } from "../../common/cluster-types"; import type { MigrationDeclaration } from "../helpers"; import { getLegacyGlobalDiForExtensionApi } from "../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import { isErrnoException } from "../../common/utils"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; @@ -27,7 +27,7 @@ export default { const joinPaths = di.inject(joinPathsInjectable); try { - const workspaceData: Pre500WorkspaceStoreModel = fse.readJsonSync(joinPaths(userDataPath, "lens-workspace-store.json")); + const workspaceData: Pre500WorkspaceStoreModel = fse.readJsonSync(joinPaths(userDataPath.get(), "lens-workspace-store.json")); const workspaces = new Map(); // mapping from WorkspaceId to name for (const { id, name } of workspaceData.workspaces) { diff --git a/src/migrations/cluster-store/5.0.0-beta.13.ts b/src/migrations/cluster-store/5.0.0-beta.13.ts index 87d88b143a..53c6edcd24 100644 --- a/src/migrations/cluster-store/5.0.0-beta.13.ts +++ b/src/migrations/cluster-store/5.0.0-beta.13.ts @@ -9,7 +9,7 @@ import { migrationLog } from "../helpers"; import { generateNewIdFor } from "../utils"; import { moveSync, removeSync } from "fs-extra"; import { getLegacyGlobalDiForExtensionApi } from "../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import { isDefined } from "../../common/utils"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; @@ -100,7 +100,7 @@ export default { } }; - const folder = joinPaths(userDataPath, "lens-local-storage"); + const folder = joinPaths(userDataPath.get(), "lens-local-storage"); const oldClusters: ClusterModel[] = store.get("clusters") ?? []; const clusters = new Map(); diff --git a/src/migrations/hotbar-store/5.0.0-beta.10.ts b/src/migrations/hotbar-store/5.0.0-beta.10.ts index 771a37fa36..997e92599b 100644 --- a/src/migrations/hotbar-store/5.0.0-beta.10.ts +++ b/src/migrations/hotbar-store/5.0.0-beta.10.ts @@ -13,7 +13,7 @@ import type { MigrationDeclaration } from "../helpers"; import { migrationLog } from "../helpers"; import { generateNewIdFor } from "../utils"; import { getLegacyGlobalDiForExtensionApi } from "../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import catalogCatalogEntityInjectable from "../../common/catalog-entities/general-catalog-entities/implementations/catalog-catalog-entity.injectable"; import { isDefined, isErrnoException } from "../../common/utils"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; @@ -39,7 +39,7 @@ export default { const di = getLegacyGlobalDiForExtensionApi(); - const userDataPath = di.inject(directoryForUserDataInjectable); + const userDataPath = di.inject(directoryForUserDataInjectable).get(); const joinPaths = di.inject(joinPathsInjectable); // Hotbars might be empty, if some of the previous migrations weren't run diff --git a/src/migrations/user-store/5.0.3-beta.1.ts b/src/migrations/user-store/5.0.3-beta.1.ts index cf18ccd3e4..87feed4e64 100644 --- a/src/migrations/user-store/5.0.3-beta.1.ts +++ b/src/migrations/user-store/5.0.3-beta.1.ts @@ -11,7 +11,7 @@ import type { MigrationDeclaration } from "../helpers"; import { migrationLog } from "../helpers"; import { isErrnoException } from "../../common/utils"; import { getLegacyGlobalDiForExtensionApi } from "../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api"; -import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../common/app-paths/directory-for-user-data.injectable"; import directoryForKubeConfigsInjectable from "../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable"; import isLogicalChildPathInjectable from "../../common/path/is-logical-child-path.injectable"; @@ -25,7 +25,7 @@ export default { const di = getLegacyGlobalDiForExtensionApi(); - const userDataPath = di.inject(directoryForUserDataInjectable); + const userDataPath = di.inject(directoryForUserDataInjectable).get(); const kubeConfigsPath = di.inject(directoryForKubeConfigsInjectable); const joinPaths = di.inject(joinPathsInjectable); const isLogicalChildPath = di.inject(isLogicalChildPathInjectable); diff --git a/src/renderer/components/+catalog/catalog.test.tsx b/src/renderer/components/+catalog/catalog.test.tsx index 6eb6c1ad57..9849a98632 100644 --- a/src/renderer/components/+catalog/catalog.test.tsx +++ b/src/renderer/components/+catalog/catalog.test.tsx @@ -18,7 +18,7 @@ import catalogEntityStoreInjectable from "./catalog-entity-store/catalog-entity- import catalogEntityRegistryInjectable from "../../api/catalog/entity/registry.injectable"; import type { DiRender } from "../test-utils/renderFor"; import { renderFor } from "../test-utils/renderFor"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; import getConfigurationFileModelInjectable from "../../../common/get-configuration-file-model/get-configuration-file-model.injectable"; import type { AppEvent } from "../../../common/app-event-bus/event-bus"; import appEventBusInjectable from "../../../common/app-event-bus/app-event-bus.injectable"; @@ -65,7 +65,9 @@ describe("", () => { beforeEach(() => { di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(broadcastMessageInjectable, () => async () => {}); diff --git a/src/renderer/components/+extensions/__tests__/extensions.test.tsx b/src/renderer/components/+extensions/__tests__/extensions.test.tsx index 27db8da81a..cde0dd15fc 100644 --- a/src/renderer/components/+extensions/__tests__/extensions.test.tsx +++ b/src/renderer/components/+extensions/__tests__/extensions.test.tsx @@ -15,7 +15,7 @@ import extensionLoaderInjectable from "../../../../extensions/extension-loader/e import type { DiRender } from "../../test-utils/renderFor"; import { renderFor } from "../../test-utils/renderFor"; import extensionDiscoveryInjectable from "../../../../extensions/extension-discovery/extension-discovery.injectable"; -import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data.injectable"; import directoryForDownloadsInjectable from "../../../../common/app-paths/directory-for-downloads/directory-for-downloads.injectable"; import assert from "assert"; import type { InstallExtensionFromInput } from "../install-extension-from-input.injectable"; @@ -43,7 +43,9 @@ describe("Extensions", () => { beforeEach(() => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(directoryForDownloadsInjectable, () => "some-directory-for-downloads"); render = renderFor(di); diff --git a/src/renderer/components/+namespaces/namespace-select-filter.test.tsx b/src/renderer/components/+namespaces/namespace-select-filter.test.tsx index a81e32e263..7b802c3f92 100644 --- a/src/renderer/components/+namespaces/namespace-select-filter.test.tsx +++ b/src/renderer/components/+namespaces/namespace-select-filter.test.tsx @@ -7,7 +7,7 @@ import type { DiContainer } from "@ogre-tools/injectable"; import type { RenderResult } from "@testing-library/react"; import { fireEvent } from "@testing-library/react"; import React from "react"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; import { Namespace } from "../../../common/k8s-api/endpoints"; import { getDiForUnitTesting } from "../../getDiForUnitTesting"; import storesAndApisCanBeCreatedInjectable from "../../stores-apis-can-be-created.injectable"; @@ -36,7 +36,9 @@ describe("", () => { beforeEach(() => { di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "/some-directory"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "/some-directory", + })); di.override(storesAndApisCanBeCreatedInjectable, () => true); namespaceStore = di.inject(namespaceStoreInjectable); diff --git a/src/renderer/components/+user-management/+role-bindings/__tests__/dialog.test.tsx b/src/renderer/components/+user-management/+role-bindings/__tests__/dialog.test.tsx index 82e3a7c9d7..5aeecc7f01 100644 --- a/src/renderer/components/+user-management/+role-bindings/__tests__/dialog.test.tsx +++ b/src/renderer/components/+user-management/+role-bindings/__tests__/dialog.test.tsx @@ -10,7 +10,7 @@ import { RoleBindingDialog } from "../dialog"; import { getDiForUnitTesting } from "../../../../getDiForUnitTesting"; import type { DiRender } from "../../../test-utils/renderFor"; import { renderFor } from "../../../test-utils/renderFor"; -import directoryForUserDataInjectable from "../../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../../common/app-paths/directory-for-user-data.injectable"; import clusterRoleStoreInjectable from "../../+cluster-roles/store.injectable"; import storesAndApisCanBeCreatedInjectable from "../../../../stores-apis-can-be-created.injectable"; @@ -21,7 +21,9 @@ describe("RoleBindingDialog tests", () => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); di.override(storesAndApisCanBeCreatedInjectable, () => true); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); render = renderFor(di); diff --git a/src/renderer/components/dock/__test__/dock-store.test.ts b/src/renderer/components/dock/__test__/dock-store.test.ts index 1fd7e102e8..81e78874a4 100644 --- a/src/renderer/components/dock/__test__/dock-store.test.ts +++ b/src/renderer/components/dock/__test__/dock-store.test.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ -import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data.injectable"; import hostedClusterIdInjectable from "../../../cluster-frame-context/hosted-cluster-id.injectable"; import { getDiForUnitTesting } from "../../../getDiForUnitTesting"; import type { DockStore, DockTab } from "../dock/store"; @@ -25,7 +25,9 @@ describe("DockStore", () => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); di.override(hostedClusterIdInjectable, () => "some-cluster-id"); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); dockStore = di.inject(dockStoreInjectable); }); diff --git a/src/renderer/components/dock/__test__/dock-tabs.test.tsx b/src/renderer/components/dock/__test__/dock-tabs.test.tsx index 0dbb548be7..1811417c98 100644 --- a/src/renderer/components/dock/__test__/dock-tabs.test.tsx +++ b/src/renderer/components/dock/__test__/dock-tabs.test.tsx @@ -15,7 +15,7 @@ import { getDiForUnitTesting } from "../../../getDiForUnitTesting"; import dockStoreInjectable from "../dock/store.injectable"; import type { DiRender } from "../../test-utils/renderFor"; import { renderFor } from "../../test-utils/renderFor"; -import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data.injectable"; import getConfigurationFileModelInjectable from "../../../../common/get-configuration-file-model/get-configuration-file-model.injectable"; import assert from "assert"; import hostedClusterIdInjectable from "../../../cluster-frame-context/hosted-cluster-id.injectable"; @@ -77,10 +77,9 @@ describe("", () => { render = renderFor(di); di.override(hostedClusterIdInjectable, () => "some-cluster-id"); - di.override( - directoryForUserDataInjectable, - () => "some-test-suite-specific-directory-for-user-data", - ); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-test-suite-specific-directory-for-user-data", + })); di.permitSideEffects(getConfigurationFileModelInjectable); diff --git a/src/renderer/components/dock/logs/__test__/log-resource-selector.test.tsx b/src/renderer/components/dock/logs/__test__/log-resource-selector.test.tsx index 66874bfd9f..4da2d4e017 100644 --- a/src/renderer/components/dock/logs/__test__/log-resource-selector.test.tsx +++ b/src/renderer/components/dock/logs/__test__/log-resource-selector.test.tsx @@ -12,7 +12,7 @@ import mockFs from "mock-fs"; import { getDiForUnitTesting } from "../../../../getDiForUnitTesting"; import type { DiRender } from "../../../test-utils/renderFor"; import { renderFor } from "../../../test-utils/renderFor"; -import directoryForUserDataInjectable from "../../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../../common/app-paths/directory-for-user-data.injectable"; import callForLogsInjectable from "../call-for-logs.injectable"; import type { LogTabViewModelDependencies } from "../logs-view-model"; import { LogTabViewModel } from "../logs-view-model"; @@ -130,7 +130,9 @@ describe("", () => { beforeEach(() => { const di = getDiForUnitTesting({ doGeneralOverrides: true }); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.override(callForLogsInjectable, () => () => Promise.resolve("some-logs")); di.permitSideEffects(getConfigurationFileModelInjectable); diff --git a/src/renderer/components/hotbar/__tests__/hotbar-remove-command.test.tsx b/src/renderer/components/hotbar/__tests__/hotbar-remove-command.test.tsx index cc22112380..ce5aca04fa 100644 --- a/src/renderer/components/hotbar/__tests__/hotbar-remove-command.test.tsx +++ b/src/renderer/components/hotbar/__tests__/hotbar-remove-command.test.tsx @@ -14,7 +14,7 @@ import { renderFor } from "../../test-utils/renderFor"; import hotbarStoreInjectable from "../../../../common/hotbars/store.injectable"; import { ConfirmDialog } from "../../confirm-dialog"; import mockFs from "mock-fs"; -import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../../common/app-paths/directory-for-user-data.injectable"; import getConfigurationFileModelInjectable from "../../../../common/get-configuration-file-model/get-configuration-file-model.injectable"; import type { HotbarStore } from "../../../../common/hotbars/store"; import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable"; @@ -44,7 +44,9 @@ describe("", () => { mockFs(); di.override(storesAndApisCanBeCreatedInjectable, () => true); - di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(directoryForUserDataInjectable, () => ({ + get: () => "some-directory-for-user-data", + })); di.permitSideEffects(hotbarStoreInjectable); di.permitSideEffects(getConfigurationFileModelInjectable); diff --git a/src/renderer/components/select/select.test.tsx b/src/renderer/components/select/select.test.tsx index acbb7e15d2..80586458a6 100644 --- a/src/renderer/components/select/select.test.tsx +++ b/src/renderer/components/select/select.test.tsx @@ -11,7 +11,7 @@ import type { DiContainer } from "@ogre-tools/injectable"; import type { DiRender } from "../test-utils/renderFor"; import { renderFor } from "../test-utils/renderFor"; import mockFs from "mock-fs"; -import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable"; +import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data.injectable"; import rendererExtensionsInjectable from "../../../extensions/renderer-extensions.injectable"; import { computed } from "mobx"; import type { LensRendererExtension } from "../../../extensions/lens-renderer-extension"; @@ -34,7 +34,9 @@ describe("