mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Add missing global overrides
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com> Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
parent
3468fc33b5
commit
506b61234f
@ -834,114 +834,121 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
|
|||||||
</h2>
|
</h2>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
class="flex gaps"
|
data-testid="helm-controls"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="Select theme-lens box grow Select--is-disabled css-3iigni-container"
|
class="flex gaps"
|
||||||
>
|
>
|
||||||
<span
|
|
||||||
class="css-1f43avz-a11yText-A11yText"
|
|
||||||
id="react-select-HelmRepoSelect-live-region"
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
aria-atomic="false"
|
|
||||||
aria-live="polite"
|
|
||||||
aria-relevant="additions text"
|
|
||||||
class="css-1f43avz-a11yText-A11yText"
|
|
||||||
/>
|
|
||||||
<div
|
<div
|
||||||
class="Select__control Select__control--is-disabled css-1insrsq-control"
|
class="Select theme-lens box grow Select--is-disabled css-3iigni-container"
|
||||||
>
|
>
|
||||||
|
<span
|
||||||
|
class="css-1f43avz-a11yText-A11yText"
|
||||||
|
id="react-select-selection-of-active-public-helm-repository-live-region"
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
aria-atomic="false"
|
||||||
|
aria-live="polite"
|
||||||
|
aria-relevant="additions text"
|
||||||
|
class="css-1f43avz-a11yText-A11yText"
|
||||||
|
/>
|
||||||
<div
|
<div
|
||||||
class="Select__value-container css-319lph-ValueContainer"
|
class="Select__control Select__control--is-disabled css-1insrsq-control"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="Select__placeholder css-14el2xx-placeholder"
|
class="Select__value-container css-319lph-ValueContainer"
|
||||||
id="react-select-HelmRepoSelect-placeholder"
|
|
||||||
>
|
>
|
||||||
Repositories
|
<div
|
||||||
</div>
|
class="Select__placeholder css-14el2xx-placeholder"
|
||||||
<div
|
id="react-select-selection-of-active-public-helm-repository-placeholder"
|
||||||
class="Select__input-container css-jzldcf-Input"
|
|
||||||
data-value=""
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
aria-autocomplete="list"
|
|
||||||
aria-describedby="react-select-HelmRepoSelect-placeholder"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-haspopup="true"
|
|
||||||
autocapitalize="none"
|
|
||||||
autocomplete="off"
|
|
||||||
autocorrect="off"
|
|
||||||
class="Select__input"
|
|
||||||
disabled=""
|
|
||||||
id="HelmRepoSelect"
|
|
||||||
role="combobox"
|
|
||||||
spellcheck="false"
|
|
||||||
style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
|
|
||||||
tabindex="0"
|
|
||||||
type="text"
|
|
||||||
value=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="Select__indicators css-1hb7zxy-IndicatorsContainer"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
aria-hidden="true"
|
|
||||||
class="Select__indicator Select__loading-indicator css-at12u2-loadingIndicator"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="css-1xtdfmb-LoadingDot"
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
class="css-zoievk-LoadingDot"
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
class="css-x748d8-LoadingDot"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span
|
|
||||||
class="Select__indicator-separator css-109onse-indicatorSeparator"
|
|
||||||
/>
|
|
||||||
<div
|
|
||||||
aria-hidden="true"
|
|
||||||
class="Select__indicator Select__dropdown-indicator css-tlfecz-indicatorContainer"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="css-tj5bde-Svg"
|
|
||||||
focusable="false"
|
|
||||||
height="20"
|
|
||||||
viewBox="0 0 20 20"
|
|
||||||
width="20"
|
|
||||||
>
|
>
|
||||||
<path
|
Repositories
|
||||||
d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
|
</div>
|
||||||
|
<div
|
||||||
|
class="Select__input-container css-jzldcf-Input"
|
||||||
|
data-value=""
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
aria-autocomplete="list"
|
||||||
|
aria-describedby="react-select-selection-of-active-public-helm-repository-placeholder"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-haspopup="true"
|
||||||
|
autocapitalize="none"
|
||||||
|
autocomplete="off"
|
||||||
|
autocorrect="off"
|
||||||
|
class="Select__input"
|
||||||
|
disabled=""
|
||||||
|
id="selection-of-active-public-helm-repository"
|
||||||
|
role="combobox"
|
||||||
|
spellcheck="false"
|
||||||
|
style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
|
||||||
|
tabindex="0"
|
||||||
|
type="text"
|
||||||
|
value=""
|
||||||
/>
|
/>
|
||||||
</svg>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="Select__indicators css-1hb7zxy-IndicatorsContainer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
aria-hidden="true"
|
||||||
|
class="Select__indicator Select__loading-indicator css-at12u2-loadingIndicator"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="css-1xtdfmb-LoadingDot"
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
class="css-zoievk-LoadingDot"
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
class="css-x748d8-LoadingDot"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span
|
||||||
|
class="Select__indicator-separator css-109onse-indicatorSeparator"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
aria-hidden="true"
|
||||||
|
class="Select__indicator Select__dropdown-indicator css-tlfecz-indicatorContainer"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
aria-hidden="true"
|
||||||
|
class="css-tj5bde-Svg"
|
||||||
|
focusable="false"
|
||||||
|
height="20"
|
||||||
|
viewBox="0 0 20 20"
|
||||||
|
width="20"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<button
|
||||||
|
class="Button primary"
|
||||||
|
data-testid="add-custom-helm-repo-button"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
|
Add Custom Helm Repo
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<button
|
|
||||||
class="Button primary"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
Add Custom Helm Repo
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="repos"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="pt-5 relative"
|
class="repos"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="Spinner singleColor center"
|
class="pt-5 relative"
|
||||||
/>
|
>
|
||||||
|
<div
|
||||||
|
class="Spinner singleColor center"
|
||||||
|
data-testid="helm-repositories-are-loading"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@ -5,6 +5,10 @@
|
|||||||
import type { RenderResult } from "@testing-library/react";
|
import type { RenderResult } from "@testing-library/react";
|
||||||
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||||
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
|
||||||
|
import callForPublicHelmRepositoriesInjectable
|
||||||
|
from "../../renderer/components/+preferences/kubernetes/helm-charts/activation-of-public-helm-repository/public-helm-repositories/call-for-public-helm-repositories.injectable";
|
||||||
|
import getActiveHelmRepositoriesInjectable
|
||||||
|
from "../../main/helm/repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
|
||||||
|
|
||||||
describe("preferences - navigation to kubernetes preferences", () => {
|
describe("preferences - navigation to kubernetes preferences", () => {
|
||||||
let applicationBuilder: ApplicationBuilder;
|
let applicationBuilder: ApplicationBuilder;
|
||||||
@ -17,6 +21,15 @@ describe("preferences - navigation to kubernetes preferences", () => {
|
|||||||
let rendered: RenderResult;
|
let rendered: RenderResult;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
|
applicationBuilder.beforeApplicationStart(({ rendererDi, mainDi }) => {
|
||||||
|
rendererDi.override(callForPublicHelmRepositoriesInjectable, () => async () => []);
|
||||||
|
|
||||||
|
mainDi.override(
|
||||||
|
getActiveHelmRepositoriesInjectable,
|
||||||
|
() => async () => ({ callWasSuccessful: true, response: [] }),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
applicationBuilder.beforeRender(() => {
|
applicationBuilder.beforeRender(() => {
|
||||||
applicationBuilder.preferences.navigate();
|
applicationBuilder.preferences.navigate();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
import glob from "glob";
|
import glob from "glob";
|
||||||
import { kebabCase, memoize, noop } from "lodash/fp";
|
import { kebabCase, memoize, noop } from "lodash/fp";
|
||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer, Injectable } from "@ogre-tools/injectable";
|
||||||
import { createContainer } from "@ogre-tools/injectable";
|
import { createContainer } from "@ogre-tools/injectable";
|
||||||
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||||
import appNameInjectable from "./app-paths/app-name/app-name.injectable";
|
import appNameInjectable from "./app-paths/app-name/app-name.injectable";
|
||||||
@ -86,6 +86,17 @@ import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
|||||||
import periodicalCheckForUpdatesInjectable from "./application-update/periodical-check-for-updates/periodical-check-for-updates.injectable";
|
import periodicalCheckForUpdatesInjectable from "./application-update/periodical-check-for-updates/periodical-check-for-updates.injectable";
|
||||||
import execFileInjectable from "../common/fs/exec-file.injectable";
|
import execFileInjectable from "../common/fs/exec-file.injectable";
|
||||||
import normalizedPlatformArchitectureInjectable from "../common/vars/normalized-platform-architecture.injectable";
|
import normalizedPlatformArchitectureInjectable from "../common/vars/normalized-platform-architecture.injectable";
|
||||||
|
import getHelmChartInjectable from "./helm/helm-service/get-helm-chart.injectable";
|
||||||
|
import getHelmChartValuesInjectable from "./helm/helm-service/get-helm-chart-values.injectable";
|
||||||
|
import listHelmChartsInjectable from "./helm/helm-service/list-helm-charts.injectable";
|
||||||
|
import deleteHelmReleaseInjectable from "./helm/helm-service/delete-helm-release.injectable";
|
||||||
|
import getHelmReleaseHistoryInjectable from "./helm/helm-service/get-helm-release-history.injectable";
|
||||||
|
import getHelmReleaseInjectable from "./helm/helm-service/get-helm-release.injectable";
|
||||||
|
import getHelmReleaseValuesInjectable from "./helm/helm-service/get-helm-release-values.injectable";
|
||||||
|
import installHelmChartInjectable from "./helm/helm-service/install-helm-chart.injectable";
|
||||||
|
import listHelmReleasesInjectable from "./helm/helm-service/list-helm-releases.injectable";
|
||||||
|
import rollbackHelmReleaseInjectable from "./helm/helm-service/rollback-helm-release.injectable";
|
||||||
|
import updateHelmReleaseInjectable from "./helm/helm-service/update-helm-release.injectable";
|
||||||
|
|
||||||
export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {}) {
|
export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {}) {
|
||||||
const {
|
const {
|
||||||
@ -136,6 +147,24 @@ export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {})
|
|||||||
|
|
||||||
di.override(periodicalCheckForUpdatesInjectable, () => ({ start: () => {}, stop: () => {}, started: false }));
|
di.override(periodicalCheckForUpdatesInjectable, () => ({ start: () => {}, stop: () => {}, started: false }));
|
||||||
|
|
||||||
|
overrideFunctionalInjectables(di, [
|
||||||
|
getHelmChartInjectable,
|
||||||
|
getHelmChartValuesInjectable,
|
||||||
|
listHelmChartsInjectable,
|
||||||
|
deleteHelmReleaseInjectable,
|
||||||
|
getHelmReleaseHistoryInjectable,
|
||||||
|
getHelmReleaseInjectable,
|
||||||
|
getHelmReleaseValuesInjectable,
|
||||||
|
installHelmChartInjectable,
|
||||||
|
listHelmReleasesInjectable,
|
||||||
|
rollbackHelmReleaseInjectable,
|
||||||
|
updateHelmReleaseInjectable,
|
||||||
|
writeJsonFileInjectable,
|
||||||
|
readJsonFileInjectable,
|
||||||
|
readFileInjectable,
|
||||||
|
execFileInjectable,
|
||||||
|
]);
|
||||||
|
|
||||||
// TODO: Remove usages of globally exported appEventBus to get rid of this
|
// TODO: Remove usages of globally exported appEventBus to get rid of this
|
||||||
di.override(appEventBusInjectable, () => new EventEmitter<[AppEvent]>());
|
di.override(appEventBusInjectable, () => new EventEmitter<[AppEvent]>());
|
||||||
|
|
||||||
@ -152,23 +181,6 @@ export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {})
|
|||||||
} as never;
|
} as never;
|
||||||
});
|
});
|
||||||
|
|
||||||
di.override(writeJsonFileInjectable, () => () => {
|
|
||||||
throw new Error("Tried to write JSON file to file system without specifying explicit override.");
|
|
||||||
});
|
|
||||||
|
|
||||||
di.override(readJsonFileInjectable, () => () => {
|
|
||||||
throw new Error("Tried to read JSON file from file system without specifying explicit override.");
|
|
||||||
});
|
|
||||||
|
|
||||||
di.override(readFileInjectable, () => () => {
|
|
||||||
throw new Error("Tried to read file from file system without specifying explicit override.");
|
|
||||||
});
|
|
||||||
|
|
||||||
di.override(execFileInjectable, () => () => {
|
|
||||||
throw new Error("Tried to exec file from file system without specifying explicit override.");
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
di.override(loggerInjectable, () => ({
|
di.override(loggerInjectable, () => ({
|
||||||
warn: noop,
|
warn: noop,
|
||||||
debug: noop,
|
debug: noop,
|
||||||
@ -265,3 +277,11 @@ const overrideElectronFeatures = (di: DiContainer) => {
|
|||||||
di.override(publishIsConfiguredInjectable, () => false);
|
di.override(publishIsConfiguredInjectable, () => false);
|
||||||
di.override(electronUpdaterIsActiveInjectable, () => false);
|
di.override(electronUpdaterIsActiveInjectable, () => false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const overrideFunctionalInjectables = (di: DiContainer, injectables: Injectable<any, any, any>[]) => {
|
||||||
|
injectables.forEach(injectable => {
|
||||||
|
di.override(injectable, () => () => {
|
||||||
|
throw new Error(`Tried to run "${injectable.id}" without explicit override.`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
@ -6,12 +6,14 @@
|
|||||||
import { getDiForUnitTesting } from "../../getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../../getDiForUnitTesting";
|
||||||
import listHelmChartsInjectable from "../helm-service/list-helm-charts.injectable";
|
import listHelmChartsInjectable from "../helm-service/list-helm-charts.injectable";
|
||||||
import getActiveHelmRepositoriesInjectable from "../repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
|
import getActiveHelmRepositoriesInjectable from "../repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
|
||||||
|
import type { AsyncResult } from "../../../common/utils/async-result";
|
||||||
|
import type { HelmRepo } from "../../../common/helm-repo";
|
||||||
|
|
||||||
jest.mock("../helm-chart-manager");
|
jest.mock("../helm-chart-manager");
|
||||||
|
|
||||||
describe("Helm Service tests", () => {
|
describe("Helm Service tests", () => {
|
||||||
let listHelmCharts: () => Promise<any>;
|
let listHelmCharts: () => Promise<any>;
|
||||||
let getActiveHelmRepositoriesMock: jest.Mock;
|
let getActiveHelmRepositoriesMock: jest.Mock<Promise<AsyncResult<HelmRepo[]>>>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
||||||
@ -20,6 +22,7 @@ describe("Helm Service tests", () => {
|
|||||||
|
|
||||||
di.override(getActiveHelmRepositoriesInjectable, () => getActiveHelmRepositoriesMock);
|
di.override(getActiveHelmRepositoriesInjectable, () => getActiveHelmRepositoriesMock);
|
||||||
|
|
||||||
|
di.unoverride(listHelmChartsInjectable);
|
||||||
di.permitSideEffects(listHelmChartsInjectable);
|
di.permitSideEffects(listHelmChartsInjectable);
|
||||||
|
|
||||||
listHelmCharts = di.inject(listHelmChartsInjectable);
|
listHelmCharts = di.inject(listHelmChartsInjectable);
|
||||||
@ -30,10 +33,16 @@ describe("Helm Service tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("list charts with deprecated entries", async () => {
|
it("list charts with deprecated entries", async () => {
|
||||||
getActiveHelmRepositoriesMock.mockReturnValue([
|
getActiveHelmRepositoriesMock.mockReturnValue(
|
||||||
{ name: "stable", url: "stableurl" },
|
Promise.resolve({
|
||||||
{ name: "experiment", url: "experimenturl" },
|
callWasSuccessful: true,
|
||||||
] as any);
|
|
||||||
|
response: [
|
||||||
|
{ name: "stable", url: "stableurl" },
|
||||||
|
{ name: "experiment", url: "experimenturl" },
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
const charts = await listHelmCharts();
|
const charts = await listHelmCharts();
|
||||||
|
|
||||||
@ -135,9 +144,12 @@ describe("Helm Service tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("list charts sorted by version in descending order", async () => {
|
it("list charts sorted by version in descending order", async () => {
|
||||||
getActiveHelmRepositoriesMock.mockReturnValue([
|
getActiveHelmRepositoriesMock.mockReturnValue(
|
||||||
{ name: "bitnami", url: "bitnamiurl" },
|
Promise.resolve({
|
||||||
] as any);
|
callWasSuccessful: true,
|
||||||
|
response: [{ name: "bitnami", url: "bitnamiurl" }],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
const charts = await listHelmCharts();
|
const charts = await listHelmCharts();
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,12 @@
|
|||||||
|
|
||||||
import glob from "glob";
|
import glob from "glob";
|
||||||
import { memoize, noop } from "lodash/fp";
|
import { memoize, noop } from "lodash/fp";
|
||||||
import { createContainer } from "@ogre-tools/injectable";
|
import type {
|
||||||
|
DiContainer,
|
||||||
|
Injectable } from "@ogre-tools/injectable";
|
||||||
|
import {
|
||||||
|
createContainer,
|
||||||
|
} from "@ogre-tools/injectable";
|
||||||
import { Environments, setLegacyGlobalDiForExtensionApi } from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
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 requestFromChannelInjectable from "./utils/channel/request-from-channel.injectable";
|
||||||
import loggerInjectable from "../common/logger.injectable";
|
import loggerInjectable from "../common/logger.injectable";
|
||||||
@ -46,6 +51,7 @@ import provideInitialValuesForSyncBoxesInjectable from "./utils/sync-box/provide
|
|||||||
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
|
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
|
||||||
import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
|
||||||
import getFilePathsInjectable from "./components/+preferences/kubernetes/helm-charts/activation-of-custom-helm-repository/helm-file-input/get-file-paths.injectable";
|
import getFilePathsInjectable from "./components/+preferences/kubernetes/helm-charts/activation-of-custom-helm-repository/helm-file-input/get-file-paths.injectable";
|
||||||
|
import callForPublicHelmRepositoriesInjectable from "./components/+preferences/kubernetes/helm-charts/activation-of-public-helm-repository/public-helm-repositories/call-for-public-helm-repositories.injectable";
|
||||||
|
|
||||||
export const getDiForUnitTesting = (opts: { doGeneralOverrides?: boolean } = {}) => {
|
export const getDiForUnitTesting = (opts: { doGeneralOverrides?: boolean } = {}) => {
|
||||||
const {
|
const {
|
||||||
@ -92,13 +98,11 @@ export const getDiForUnitTesting = (opts: { doGeneralOverrides?: boolean } = {})
|
|||||||
on: () => {},
|
on: () => {},
|
||||||
}) as unknown as IpcRenderer);
|
}) as unknown as IpcRenderer);
|
||||||
|
|
||||||
di.override(broadcastMessageInjectable, () => () => {
|
overrideFunctionalInjectables(di, [
|
||||||
throw new Error("Tried to broadcast message over IPC without explicit override.");
|
broadcastMessageInjectable,
|
||||||
});
|
getFilePathsInjectable,
|
||||||
|
callForPublicHelmRepositoriesInjectable,
|
||||||
di.override(getFilePathsInjectable, () => () => {
|
]);
|
||||||
throw new Error("Tried to get file paths without explicit override.");
|
|
||||||
});
|
|
||||||
|
|
||||||
// eslint-disable-next-line unused-imports/no-unused-vars-ts
|
// eslint-disable-next-line unused-imports/no-unused-vars-ts
|
||||||
di.override(extensionsStoreInjectable, () => ({ isEnabled: ({ id, isBundled }) => false }) as ExtensionsStore);
|
di.override(extensionsStoreInjectable, () => ({ isEnabled: ({ id, isBundled }) => false }) as ExtensionsStore);
|
||||||
@ -152,3 +156,11 @@ const getInjectableFilePaths = memoize(() => [
|
|||||||
...glob.sync("../common/**/*.injectable.{ts,tsx}", { cwd: __dirname }),
|
...glob.sync("../common/**/*.injectable.{ts,tsx}", { cwd: __dirname }),
|
||||||
...glob.sync("../extensions/**/*.injectable.{ts,tsx}", { cwd: __dirname }),
|
...glob.sync("../extensions/**/*.injectable.{ts,tsx}", { cwd: __dirname }),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const overrideFunctionalInjectables = (di: DiContainer, injectables: Injectable<any, any, any>[]) => {
|
||||||
|
injectables.forEach(injectable => {
|
||||||
|
di.override(injectable, () => () => {
|
||||||
|
throw new Error(`Tried to run "${injectable.id}" without explicit override.`);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user