mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
3b65009fb6
commit
b79f906ad5
@ -35,6 +35,15 @@ import type { IComputedValue } from "mobx";
|
|||||||
import type { NavigateToRoute } from "../common/front-end-routing/navigate-to-route-injection-token";
|
import type { NavigateToRoute } from "../common/front-end-routing/navigate-to-route-injection-token";
|
||||||
import type { Route } from "../common/front-end-routing/front-end-route-injection-token";
|
import type { Route } from "../common/front-end-routing/front-end-route-injection-token";
|
||||||
import type { GetExtensionPageParameters } from "../renderer/routes/get-extension-page-parameters.injectable";
|
import type { GetExtensionPageParameters } from "../renderer/routes/get-extension-page-parameters.injectable";
|
||||||
|
import type { InstalledExtension } from "./common-api";
|
||||||
|
import { Environments, getEnvironmentSpecificLegacyGlobalDiForExtensionApi } from "./as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||||
|
import catalogCategoryRegistryInjectable from "../common/catalog/category-registry.injectable";
|
||||||
|
import catalogEntityRegistryInjectable from "../renderer/api/catalog/entity/registry.injectable";
|
||||||
|
import loggerInjectable from "../common/logger.injectable";
|
||||||
|
import getExtensionPageParametersInjectable from "../renderer/routes/get-extension-page-parameters.injectable";
|
||||||
|
import navigateToRouteInjectable from "../renderer/routes/navigate-to-route.injectable";
|
||||||
|
import routesInjectable from "../renderer/routes/routes.injectable";
|
||||||
|
import fileSystemProvisionerStoreInjectable from "./extension-loader/file-system-provisioner-store/file-system-provisioner-store.injectable";
|
||||||
|
|
||||||
interface LensRendererExtensionDependencies extends LensExtensionDependencies {
|
interface LensRendererExtensionDependencies extends LensExtensionDependencies {
|
||||||
navigateToRoute: NavigateToRoute;
|
navigateToRoute: NavigateToRoute;
|
||||||
@ -71,6 +80,21 @@ export class LensRendererExtension extends LensExtension {
|
|||||||
*/
|
*/
|
||||||
declare protected readonly dependencies: LensRendererExtensionDependencies;
|
declare protected readonly dependencies: LensRendererExtensionDependencies;
|
||||||
|
|
||||||
|
constructor(extension: InstalledExtension) {
|
||||||
|
const di = getEnvironmentSpecificLegacyGlobalDiForExtensionApi(Environments.renderer);
|
||||||
|
const deps: LensRendererExtensionDependencies = {
|
||||||
|
categoryRegistry: di.inject(catalogCategoryRegistryInjectable),
|
||||||
|
entityRegistry: di.inject(catalogEntityRegistryInjectable),
|
||||||
|
fileSystemProvisionerStore: di.inject(fileSystemProvisionerStoreInjectable),
|
||||||
|
getExtensionPageParameters: di.inject(getExtensionPageParametersInjectable),
|
||||||
|
navigateToRoute: di.inject(navigateToRouteInjectable),
|
||||||
|
routes: di.inject(routesInjectable),
|
||||||
|
logger: di.inject(loggerInjectable),
|
||||||
|
};
|
||||||
|
|
||||||
|
super(deps, extension);
|
||||||
|
}
|
||||||
|
|
||||||
async navigate(pageId?: string, params: object = {}) {
|
async navigate(pageId?: string, params: object = {}) {
|
||||||
const routes = this.dependencies.routes.get();
|
const routes = this.dependencies.routes.get();
|
||||||
const targetRegistration = [...this.globalPages, ...this.clusterPages]
|
const targetRegistration = [...this.globalPages, ...this.clusterPages]
|
||||||
|
|||||||
@ -2,20 +2,9 @@
|
|||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import type { Writable } from "type-fest";
|
|
||||||
import fileSystemProvisionerStoreInjectable from "../../../extensions/extension-loader/file-system-provisioner-store/file-system-provisioner-store.injectable";
|
|
||||||
import { lensExtensionDependencies } from "../../../extensions/lens-extension";
|
|
||||||
import { LensMainExtension } from "../../../extensions/lens-main-extension";
|
import { LensMainExtension } from "../../../extensions/lens-main-extension";
|
||||||
import navigateForExtensionInjectable from "../../../main/start-main-application/lens-window/navigate-for-extension.injectable";
|
|
||||||
import { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
|
import { LensRendererExtension } from "../../../extensions/lens-renderer-extension";
|
||||||
import catalogCategoryRegistryInjectable from "../../../common/catalog/category-registry.injectable";
|
|
||||||
import getExtensionPageParametersInjectable from "../../routes/get-extension-page-parameters.injectable";
|
|
||||||
import navigateToRouteInjectable from "../../routes/navigate-to-route.injectable";
|
|
||||||
import routesInjectable from "../../routes/routes.injectable";
|
|
||||||
import catalogEntityRegistryForMainInjectable from "../../../main/catalog/entity-registry.injectable";
|
|
||||||
import catalogEntityRegistryForRendererInjectable from "../../api/catalog/entity/registry.injectable";
|
|
||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer } from "@ogre-tools/injectable";
|
||||||
import loggerInjectable from "../../../common/logger.injectable";
|
|
||||||
|
|
||||||
export class TestExtensionMain extends LensMainExtension {}
|
export class TestExtensionMain extends LensMainExtension {}
|
||||||
export class TestExtensionRenderer extends LensRendererExtension {}
|
export class TestExtensionRenderer extends LensRendererExtension {}
|
||||||
@ -27,63 +16,44 @@ export interface FakeExtensionOptions {
|
|||||||
mainOptions?: Partial<LensMainExtension>;
|
mainOptions?: Partial<LensMainExtension>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getExtensionFakeForMain = (di: DiContainer, id: string, name: string, options: Partial<LensMainExtension>) => {
|
export const getExtensionFakeForMain = (di: DiContainer, id: string, name: string, options: Partial<LensMainExtension>) => (
|
||||||
const instance = new TestExtensionMain({
|
Object.assign(
|
||||||
id,
|
new TestExtensionMain({
|
||||||
absolutePath: "irrelevant",
|
id,
|
||||||
isBundled: false,
|
absolutePath: "irrelevant",
|
||||||
isCompatible: false,
|
isBundled: false,
|
||||||
isEnabled: false,
|
isCompatible: false,
|
||||||
manifest: {
|
isEnabled: false,
|
||||||
name,
|
manifest: {
|
||||||
version: "1.0.0",
|
name,
|
||||||
engines: {
|
version: "1.0.0",
|
||||||
lens: "^5.5.0",
|
engines: {
|
||||||
|
lens: "^5.5.0",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
manifestPath: "irrelevant",
|
||||||
manifestPath: "irrelevant",
|
}),
|
||||||
});
|
options,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
Object.assign(instance, options);
|
export const getExtensionFakeForRenderer = (di: DiContainer, id: string, name: string, options: Partial<LensRendererExtension>) => (
|
||||||
|
Object.assign(
|
||||||
(instance as Writable<LensMainExtension>)[lensExtensionDependencies] = {
|
new TestExtensionRenderer({
|
||||||
fileSystemProvisionerStore: di.inject(fileSystemProvisionerStoreInjectable),
|
id,
|
||||||
entityRegistry: di.inject(catalogEntityRegistryForMainInjectable),
|
absolutePath: "irrelevant",
|
||||||
navigate: di.inject(navigateForExtensionInjectable),
|
isBundled: false,
|
||||||
logger: di.inject(loggerInjectable),
|
isCompatible: false,
|
||||||
};
|
isEnabled: false,
|
||||||
|
manifest: {
|
||||||
return instance;
|
name,
|
||||||
};
|
version: "1.0.0",
|
||||||
|
engines: {
|
||||||
export const getExtensionFakeForRenderer = (di: DiContainer, id: string, name: string, options: Partial<LensRendererExtension>) => {
|
lens: "^5.5.0",
|
||||||
const instance = new TestExtensionRenderer({
|
},
|
||||||
id,
|
|
||||||
absolutePath: "irrelevant",
|
|
||||||
isBundled: false,
|
|
||||||
isCompatible: false,
|
|
||||||
isEnabled: false,
|
|
||||||
manifest: {
|
|
||||||
name,
|
|
||||||
version: "1.0.0",
|
|
||||||
engines: {
|
|
||||||
lens: "^5.5.0",
|
|
||||||
},
|
},
|
||||||
},
|
manifestPath: "irrelevant",
|
||||||
manifestPath: "irrelevant",
|
}),
|
||||||
});
|
options,
|
||||||
|
)
|
||||||
Object.assign(instance, options);
|
);
|
||||||
|
|
||||||
(instance as Writable<LensRendererExtension>)[lensExtensionDependencies] = {
|
|
||||||
categoryRegistry: di.inject(catalogCategoryRegistryInjectable),
|
|
||||||
entityRegistry: di.inject(catalogEntityRegistryForRendererInjectable),
|
|
||||||
fileSystemProvisionerStore: di.inject(fileSystemProvisionerStoreInjectable),
|
|
||||||
getExtensionPageParameters: di.inject(getExtensionPageParametersInjectable),
|
|
||||||
navigateToRoute: di.inject(navigateToRouteInjectable),
|
|
||||||
routes: di.inject(routesInjectable),
|
|
||||||
logger: di.inject(loggerInjectable),
|
|
||||||
};
|
|
||||||
|
|
||||||
return instance;
|
|
||||||
};
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user