Fix sidebar-and-tab-navigation-tests

- Move enabling extensions in tests to a proper location
- Fix flushing promises

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2022-12-06 09:19:01 -05:00
1 parent ee33cc96d9
commit 8de3e75191
9 files changed
+132 -44

No files matched your search

@@ -20,6 +20,7 @@ import type { IObservableValue } from "mobx";
import { runInAction, computed, observable } from "mobx";
import storageSaveDelayInjectable from "../../renderer/utils/create-storage/storage-save-delay.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import { flushPromises } from "../../common/test-utils/flush-promises";
describe("cluster - sidebar and tab navigation for extensions", () => {
let applicationBuilder: ApplicationBuilder;
@@ -399,6 +400,8 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
const readJsonFileFake = windowDi.inject(readJsonFileInjectable);
await flushPromises(); // Needed because of several async calls
const actual = await readJsonFileFake(
"/some-directory-for-lens-local-storage/some-cluster-id.json",
);
@@ -0,0 +1,22 @@
/**
* 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 fileSystemProvisionerStoreInjectable from "../../../extensions/extension-loader/file-system-provisioner-store/file-system-provisioner-store.injectable";
import { onLoadOfApplicationInjectionToken } from "../../../main/start-main-application/runnable-tokens/on-load-of-application-injection-token";
const initFileSystemProvisionerStoreInjectable = getInjectable({
id: "init-file-system-provisioner-store",
instantiate: (di) => ({
id: "init-file-system-provisioner-store",
run: () => {
const store = di.inject(fileSystemProvisionerStoreInjectable);
store.load();
},
}),
injectionToken: onLoadOfApplicationInjectionToken,
});
export default initFileSystemProvisionerStoreInjectable;
@@ -0,0 +1,24 @@
/**
* 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 fileSystemProvisionerStoreInjectable from "../../../extensions/extension-loader/file-system-provisioner-store/file-system-provisioner-store.injectable";
import setupAppPathsInjectable from "../../../renderer/app-paths/setup-app-paths.injectable";
import { beforeFrameStartsInjectionToken } from "../../../renderer/before-frame-starts/tokens";
const initFileSystemProvisionerStoreInjectable = getInjectable({
id: "init-file-system-provisioner-store",
instantiate: (di) => ({
id: "init-file-system-provisioner-store",
run: () => {
const store = di.inject(fileSystemProvisionerStoreInjectable);
store.load();
},
runAfter: di.inject(setupAppPathsInjectable),
}),
injectionToken: beforeFrameStartsInjectionToken,
});
export default initFileSystemProvisionerStoreInjectable;