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

Stop running setups in unit tests without need

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2022-04-01 08:42:13 +03:00
parent 815651e3ad
commit 4d79d25b6e
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
27 changed files with 27 additions and 83 deletions

View File

@ -81,15 +81,13 @@ class TestStore extends BaseStore<TestStoreModel> {
describe("BaseStore", () => {
let store: TestStore;
beforeEach(async () => {
beforeEach(() => {
const mainDi = getDiForUnitTesting({ doGeneralOverrides: true });
mainDi.override(directoryForUserDataInjectable, () => "some-user-data-directory");
mainDi.permitSideEffects(getConfigurationFileModelInjectable);
mainDi.permitSideEffects(appVersionInjectable);
await mainDi.runSetups();
store = undefined;
TestStore.resetInstance();

View File

@ -33,10 +33,8 @@ import type { ClusterStoreModel } from "../cluster-store/cluster-store";
import { defaultTheme } from "../vars";
import writeFileInjectable from "../fs/write-file.injectable";
import { getDiForUnitTesting } from "../../main/getDiForUnitTesting";
import getConfigurationFileModelInjectable
from "../get-configuration-file-model/get-configuration-file-model.injectable";
import appVersionInjectable
from "../get-configuration-file-model/app-version/app-version.injectable";
import getConfigurationFileModelInjectable from "../get-configuration-file-model/get-configuration-file-model.injectable";
import appVersionInjectable from "../get-configuration-file-model/app-version/app-version.injectable";
console = new Console(stdout, stderr);
@ -44,7 +42,7 @@ describe("user store tests", () => {
let userStore: UserStore;
let di: DiContainer;
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
mockFs();
@ -55,8 +53,6 @@ describe("user store tests", () => {
di.permitSideEffects(getConfigurationFileModelInjectable);
di.permitSideEffects(appVersionInjectable);
await di.runSetups();
});
afterEach(() => {

View File

@ -11,7 +11,7 @@ import type { ClusterStore } from "../cluster-store/cluster-store";
import { pipeline } from "@ogre-tools/fp";
describe("verify-that-all-routes-have-component", () => {
it("verify that routes have route component", async () => {
it("verify that routes have route component", () => {
const rendererDi = getDiForUnitTesting({ doGeneralOverrides: true });
rendererDi.override(
@ -19,8 +19,6 @@ describe("verify-that-all-routes-have-component", () => {
() => ({ getById: (): null => null } as unknown as ClusterStore),
);
await rendererDi.runSetups();
const routes = rendererDi.injectMany(routeInjectionToken);
const routeComponents = rendererDi.injectMany(
routeSpecificComponentInjectionToken,

View File

@ -109,7 +109,7 @@ describe("ExtensionLoader", () => {
let extensionLoader: ExtensionLoader;
let updateExtensionStateMock: jest.Mock;
beforeEach(async () => {
beforeEach(() => {
const dis = getDisForUnitTesting({ doGeneralOverrides: true });
mockFs();
@ -118,8 +118,6 @@ describe("ExtensionLoader", () => {
dis.mainDi.override(updateExtensionsStateInjectable, () => updateExtensionStateMock);
await dis.runSetups();
extensionLoader = dis.mainDi.inject(extensionLoaderInjectable);
});

View File

@ -48,7 +48,7 @@ const mockedFse = fse as jest.Mocked<typeof fse>;
describe("ExtensionDiscovery", () => {
let extensionDiscovery: ExtensionDiscovery;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
@ -56,8 +56,6 @@ describe("ExtensionDiscovery", () => {
mockFs();
await di.runSetups();
extensionDiscovery = di.inject(extensionDiscoveryInjectable);
});

View File

@ -75,7 +75,7 @@ const clusterStub = {
describe("ContextHandler", () => {
let createContextHandler: (cluster: Cluster) => ContextHandler;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
mockFs({
@ -84,8 +84,6 @@ describe("ContextHandler", () => {
di.override(createKubeAuthProxyInjectable, () => ({} as any));
await di.runSetups();
createContextHandler = di.inject(createContextHandlerInjectable);
PrometheusProviderRegistry.createInstance();

View File

@ -26,11 +26,9 @@ jest.mock("electron", () => ({
describe("static-file-route", () => {
let handleStaticFileRoute: Route<Buffer>;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
await di.runSetups();
handleStaticFileRoute = di.inject(staticFileRouteInjectable);
});

View File

@ -13,7 +13,7 @@ import { joinPathsFake } from "../../../common/test-utils/join-paths-fake";
describe("get-electron-app-path", () => {
let getElectronAppPath: (name: string) => string | null;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: false });
const appStub = {
@ -35,8 +35,6 @@ describe("get-electron-app-path", () => {
di.override(registerChannelInjectable, () => () => undefined);
di.override(joinPathsInjectable, () => joinPathsFake);
await di.runSetups();
getElectronAppPath = di.inject(getElectronAppPathInjectable);
});

View File

@ -16,7 +16,7 @@ describe("electron-menu-items", () => {
let electronMenuItems: IComputedValue<MenuRegistration[]>;
let extensionsStub: ObservableMap<string, LensMainExtension>;
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
extensionsStub = new ObservableMap();
@ -26,8 +26,6 @@ describe("electron-menu-items", () => {
() => computed(() => [...extensionsStub.values()]),
);
await di.runSetups();
electronMenuItems = di.inject(electronMenuItemsInjectable);
});

View File

@ -19,8 +19,6 @@ describe("tray-menu-items", () => {
beforeEach(async () => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
await di.runSetups();
extensionsStub = new ObservableMap();
di.override(

View File

@ -88,7 +88,7 @@ describe("<Catalog />", () => {
let emitEvent: (event: AppEvent) => void;
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
@ -96,8 +96,6 @@ describe("<Catalog />", () => {
di.permitSideEffects(getConfigurationFileModelInjectable);
di.permitSideEffects(appVersionInjectable);
await di.runSetups();
mockFs();
UserStore.createInstance();

View File

@ -52,7 +52,7 @@ describe("Extensions", () => {
let extensionDiscovery: ExtensionDiscovery;
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
@ -65,8 +65,6 @@ describe("Extensions", () => {
"some-directory-for-user-data": {},
});
await di.runSetups();
render = renderFor(di);
extensionLoader = di.inject(extensionLoaderInjectable);

View File

@ -17,11 +17,9 @@ jest.mock("../../+cluster-roles/store");
describe("ClusterRoleBindingDialog tests", () => {
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
await di.runSetups();
render = renderFor(di);
(clusterRolesStore as any).items = [new ClusterRole({

View File

@ -19,13 +19,11 @@ jest.mock("../../+cluster-roles/store");
describe("RoleBindingDialog tests", () => {
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
await di.runSetups();
render = renderFor(di);
(clusterRolesStore as any).items = [new ClusterRole({

View File

@ -30,11 +30,9 @@ describe("<Welcome/>", () => {
let di: DiContainer;
let welcomeBannersStub: WelcomeBannerRegistration[];
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
await di.runSetups();
render = renderFor(di);
welcomeBannersStub = [];

View File

@ -37,7 +37,7 @@ const tolerations: IToleration[] =[
describe("<PodTolerations />", () => {
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(
@ -45,8 +45,6 @@ describe("<PodTolerations />", () => {
() => "some-directory-for-lens-local-storage",
);
await di.runSetups();
render = renderFor(di);
});

View File

@ -28,7 +28,6 @@ describe("DockStore", () => {
directoryForUserDataInjectable,
() => "some-test-suite-specific-directory-for-user-data",
);
await di.runSetups();
dockStore = di.inject(dockStoreInjectable);

View File

@ -88,8 +88,6 @@ describe("<DockTabs />", () => {
di.permitSideEffects(getConfigurationFileModelInjectable);
di.permitSideEffects(appVersionInjectable);
await di.runSetups();
dockStore = di.inject(dockStoreInjectable);
UserStore.createInstance();

View File

@ -130,7 +130,7 @@ const getFewPodsTabData = (tabId: TabId, deps: Partial<LogTabViewModelDependenci
describe("<LogResourceSelector />", () => {
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
@ -141,8 +141,6 @@ describe("<LogResourceSelector />", () => {
render = renderFor(di);
await di.runSetups();
mockFs({
"tmp": {},
});

View File

@ -61,12 +61,10 @@ const getOnePodViewModel = (tabId: TabId, deps: Partial<LogTabViewModelDependenc
describe("LogSearch tests", () => {
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
render = renderFor(di);
await di.runSetups();
});
it("renders w/o errors", () => {

View File

@ -63,7 +63,7 @@ describe("<HotbarRemoveCommand />", () => {
UserStore.resetInstance();
});
it("renders w/o errors", async () => {
it("renders w/o errors", () => {
di.override(hotbarStoreInjectable, () => ({
hotbars: [mockHotbars["1"]],
getById: (id: string) => mockHotbars[id],
@ -73,14 +73,12 @@ describe("<HotbarRemoveCommand />", () => {
getDisplayLabel: () => "1: Default",
}) as any as HotbarStore);
await di.runSetups();
const { container } = render(<HotbarRemoveCommand />);
expect(container).toBeInstanceOf(HTMLElement);
});
it("calls remove if you click on the entry", async () => {
it("calls remove if you click on the entry", () => {
const removeMock = jest.fn();
di.override(hotbarStoreInjectable, () => ({
@ -91,8 +89,6 @@ describe("<HotbarRemoveCommand />", () => {
getDisplayLabel: () => "1: Default",
}) as any as HotbarStore);
await di.runSetups();
const { getByText } = render(
<>
<HotbarRemoveCommand />

View File

@ -54,7 +54,7 @@ describe("kube-object-menu", () => {
let di: DiContainer;
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
const MenuItemComponent: React.FC = () => <li>Some menu item</li>;
const kubeObjectMenuItems = [
@ -87,8 +87,6 @@ describe("kube-object-menu", () => {
computed(() => [someTestExtension]),
);
await di.runSetups();
di.override(
clusterInjectable,
() =>

View File

@ -18,7 +18,7 @@ describe("kube-object-status-icon", () => {
let render: DiRender;
let kubeObjectStatusRegistrations: KubeObjectStatusRegistration[];
beforeEach(async () => {
beforeEach(() => {
// TODO: Make mocking of date in unit tests global
global.Date.now = () => new Date("2015-10-21T07:28:00Z").getTime();
@ -35,8 +35,6 @@ describe("kube-object-status-icon", () => {
di.override(rendererExtensionsInjectable, () =>
computed(() => [someTestExtension]),
);
await di.runSetups();
});
it("given no statuses, when rendered, renders as empty", () => {

View File

@ -76,15 +76,13 @@ describe("<TopBar/>", () => {
let di: DiContainer;
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
mockFs();
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
await di.runSetups();
render = renderFor(di);
});

View File

@ -30,13 +30,12 @@ describe("<Select />", () => {
let di: DiContainer;
let render: DiRender;
beforeEach(async () => {
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
render = renderFor(di);
mockFs();
await di.runSetups();
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
di.override(rendererExtensionsInjectable, () => computed(() => [] as LensRendererExtension[]));

View File

@ -39,15 +39,13 @@ describe("<StatusBar />", () => {
let di: DiContainer;
let statusBarItems: IObservableArray<any>;
beforeEach(async () => {
beforeEach(() => {
statusBarItems = observable.array([]);
di = getDiForUnitTesting({ doGeneralOverrides: true });
render = renderFor(di);
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
di.override(rendererExtensionsInjectable, () => computed(() => [new SomeTestExtension(statusBarItems)]));
await di.runSetups();
});
it("renders w/o errors", () => {

View File

@ -28,13 +28,11 @@ const logs = [
describe("search store tests", () => {
let searchStore: SearchStore;
beforeEach(async () => {
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
await di.runSetups();
searchStore = di.inject(searchStoreInjectable);
});