1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Make the di's for unit testing able to auto-register also named exports

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
Iku-turso 2022-10-04 16:16:52 +03:00 committed by Janne Savolainen
parent a811b0948f
commit 55ad4ffcae
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
2 changed files with 8 additions and 9 deletions

View File

@ -5,8 +5,7 @@
import { kebabCase, noop, chunk } from "lodash/fp";
import type { DiContainer, Injectable } from "@ogre-tools/injectable";
// @ts-ignore
import { createContainer, injectableSymbol } from "@ogre-tools/injectable";
import { createContainer, isInjectable } from "@ogre-tools/injectable";
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
import writeJsonFileInjectable from "../common/fs/write-json-file.injectable";
import readJsonFileInjectable from "../common/fs/read-json-file.injectable";
@ -100,7 +99,7 @@ export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {})
global as any
).mainInjectablePaths.flatMap((filePath: string) =>
Object.values(require(filePath)).filter(
(maybeInjectable: any) => maybeInjectable.aliasType === injectableSymbol,
(maybeInjectable: any) => isInjectable(maybeInjectable),
),
);

View File

@ -5,9 +5,7 @@
import { noop, chunk } from "lodash/fp";
import type { DiContainer, Injectable } from "@ogre-tools/injectable";
import {
createContainer,
} from "@ogre-tools/injectable";
import { createContainer, isInjectable } from "@ogre-tools/injectable";
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
import requestFromChannelInjectable from "./utils/channel/request-from-channel.injectable";
import loggerInjectable from "../common/logger.injectable";
@ -68,9 +66,11 @@ export const getDiForUnitTesting = (
setLegacyGlobalDiForExtensionApi(di, Environments.renderer);
const injectables: Injectable<any, any, any>[] = (
global as any
).rendererInjectablePaths.map(
(filePath: string) => require(filePath).default,
global as any
).rendererInjectablePaths.flatMap((filePath: string) =>
Object.values(require(filePath)).filter(
(maybeInjectable: any) => isInjectable(maybeInjectable),
),
);
runInAction(() => {