mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix remaining test failures
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
408f81121e
commit
97bf4ae129
@ -6,6 +6,8 @@
|
|||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer } from "@ogre-tools/injectable";
|
||||||
import clusterFrameContextForNamespacedResourcesInjectable from "../../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
|
import clusterFrameContextForNamespacedResourcesInjectable from "../../../renderer/cluster-frame-context/for-namespaced-resources.injectable";
|
||||||
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
||||||
|
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||||
|
import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import type { ApiManager } from "../api-manager";
|
import type { ApiManager } from "../api-manager";
|
||||||
import apiManagerInjectable from "../api-manager/manager.injectable";
|
import apiManagerInjectable from "../api-manager/manager.injectable";
|
||||||
import { KubeApi } from "../kube-api";
|
import { KubeApi } from "../kube-api";
|
||||||
@ -28,6 +30,10 @@ describe("ApiManager", () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
||||||
|
|
||||||
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
|
|
||||||
apiManager = di.inject(apiManagerInjectable);
|
apiManager = di.inject(apiManagerInjectable);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
* 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 { KubeJsonApi } from "../kube-json-api";
|
import type { KubeJsonApi } from "../kube-json-api";
|
||||||
import { PassThrough } from "stream";
|
|
||||||
import type { ApiManager } from "../api-manager";
|
import type { ApiManager } from "../api-manager";
|
||||||
import { Ingress, IngressApi } from "../endpoints";
|
import { Ingress, IngressApi } from "../endpoints";
|
||||||
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting";
|
||||||
@ -14,32 +13,10 @@ import type { AsyncFnMock } from "@async-fn/jest";
|
|||||||
import asyncFn from "@async-fn/jest";
|
import asyncFn from "@async-fn/jest";
|
||||||
import { flushPromises } from "../../test-utils/flush-promises";
|
import { flushPromises } from "../../test-utils/flush-promises";
|
||||||
import createKubeJsonApiInjectable from "../create-kube-json-api.injectable";
|
import createKubeJsonApiInjectable from "../create-kube-json-api.injectable";
|
||||||
import type { Response, Headers as NodeFetchHeaders } from "node-fetch";
|
|
||||||
import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable";
|
import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable";
|
||||||
|
import { createMockResponseFromString } from "../../../test-utils/mock-responses";
|
||||||
const createMockResponseFromString = (url: string, data: string, statusCode = 200) => {
|
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||||
const res: jest.Mocked<Response> = {
|
import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
buffer: jest.fn(async () => { throw new Error("buffer() is not supported"); }),
|
|
||||||
clone: jest.fn(() => res),
|
|
||||||
arrayBuffer: jest.fn(async () => { throw new Error("arrayBuffer() is not supported"); }),
|
|
||||||
blob: jest.fn(async () => { throw new Error("blob() is not supported"); }),
|
|
||||||
body: new PassThrough(),
|
|
||||||
bodyUsed: false,
|
|
||||||
headers: new Headers() as NodeFetchHeaders,
|
|
||||||
json: jest.fn(async () => JSON.parse(await res.text())),
|
|
||||||
ok: 200 <= statusCode && statusCode < 300,
|
|
||||||
redirected: 300 <= statusCode && statusCode < 400,
|
|
||||||
size: data.length,
|
|
||||||
status: statusCode,
|
|
||||||
statusText: "some-text",
|
|
||||||
text: jest.fn(async () => data),
|
|
||||||
type: "basic",
|
|
||||||
url,
|
|
||||||
formData: jest.fn(async () => { throw new Error("formData() is not supported"); }),
|
|
||||||
};
|
|
||||||
|
|
||||||
return res;
|
|
||||||
};
|
|
||||||
|
|
||||||
describe("KubeApi", () => {
|
describe("KubeApi", () => {
|
||||||
let request: KubeJsonApi;
|
let request: KubeJsonApi;
|
||||||
@ -52,6 +29,9 @@ describe("KubeApi", () => {
|
|||||||
fetchMock = asyncFn();
|
fetchMock = asyncFn();
|
||||||
di.override(fetchInjectable, () => fetchMock);
|
di.override(fetchInjectable, () => fetchMock);
|
||||||
|
|
||||||
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
|
|
||||||
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
||||||
|
|
||||||
request = createKubeJsonApi({
|
request = createKubeJsonApi({
|
||||||
|
|||||||
@ -21,6 +21,8 @@ import type { KubeJsonApiDataFor } from "../kube-object";
|
|||||||
import AbortController from "abort-controller";
|
import AbortController from "abort-controller";
|
||||||
import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable";
|
import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable";
|
||||||
import { createMockResponseFromStream, createMockResponseFromString } from "../../../test-utils/mock-responses";
|
import { createMockResponseFromStream, createMockResponseFromString } from "../../../test-utils/mock-responses";
|
||||||
|
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||||
|
import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
|
|
||||||
describe("createKubeApiForRemoteCluster", () => {
|
describe("createKubeApiForRemoteCluster", () => {
|
||||||
let createKubeApiForRemoteCluster: CreateKubeApiForRemoteCluster;
|
let createKubeApiForRemoteCluster: CreateKubeApiForRemoteCluster;
|
||||||
@ -32,6 +34,9 @@ describe("createKubeApiForRemoteCluster", () => {
|
|||||||
fetchMock = asyncFn();
|
fetchMock = asyncFn();
|
||||||
di.override(fetchInjectable, () => fetchMock);
|
di.override(fetchInjectable, () => fetchMock);
|
||||||
|
|
||||||
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
|
|
||||||
createKubeApiForRemoteCluster = di.inject(createKubeApiForRemoteClusterInjectable);
|
createKubeApiForRemoteCluster = di.inject(createKubeApiForRemoteClusterInjectable);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -121,6 +126,9 @@ describe("KubeApi", () => {
|
|||||||
fetchMock = asyncFn();
|
fetchMock = asyncFn();
|
||||||
di.override(fetchInjectable, () => fetchMock);
|
di.override(fetchInjectable, () => fetchMock);
|
||||||
|
|
||||||
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
|
|
||||||
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
const createKubeJsonApi = di.inject(createKubeJsonApiInjectable);
|
||||||
|
|
||||||
request = createKubeJsonApi({
|
request = createKubeJsonApi({
|
||||||
|
|||||||
@ -105,7 +105,6 @@ export class JsonApi<Data = JsonApiData, Params extends JsonApiParams<Data> = Js
|
|||||||
const { query } = params ?? {};
|
const { query } = params ?? {};
|
||||||
|
|
||||||
if (query && Object.keys(query).length > 0) {
|
if (query && Object.keys(query).length > 0) {
|
||||||
console.log(query);
|
|
||||||
const queryString = stringify(query as unknown as QueryParams);
|
const queryString = stringify(query as unknown as QueryParams);
|
||||||
|
|
||||||
reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString;
|
reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString;
|
||||||
@ -173,7 +172,6 @@ export class JsonApi<Data = JsonApiData, Params extends JsonApiParams<Data> = Js
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (query && Object.keys(query).length > 0) {
|
if (query && Object.keys(query).length > 0) {
|
||||||
console.log(query);
|
|
||||||
const queryString = stringify(query as unknown as QueryParams);
|
const queryString = stringify(query as unknown as QueryParams);
|
||||||
|
|
||||||
reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString;
|
reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user