mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
fix tests
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
e8ea98704a
commit
1563f035e0
@ -1251,8 +1251,26 @@ exports[`disable kube object detail items when cluster is not relevant given not
|
||||
<div
|
||||
class="drawer-title-text flex gaps align-center"
|
||||
>
|
||||
|
||||
some-kind: some-name
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="content_copy"
|
||||
>
|
||||
content_copy
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
Copy
|
||||
</div>
|
||||
</div>
|
||||
<ul
|
||||
class="Menu MenuActions flex KubeObjectMenu toolbar gaps right bottom"
|
||||
id="menu-actions-for-kube-object-menu-for-some-uid"
|
||||
/>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
@ -1272,12 +1290,50 @@ exports[`disable kube object detail items when cluster is not relevant given not
|
||||
class="drawer-content flex column box grow"
|
||||
>
|
||||
<div
|
||||
class="box center"
|
||||
class="DrawerItem"
|
||||
>
|
||||
Resource loading has failed:
|
||||
<b>
|
||||
TypeError: store.getByPath is not a function
|
||||
</b>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Name
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
some-name
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="DrawerItem"
|
||||
>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Namespace
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
<a
|
||||
href="/workloads?kube-details=%2Fapi%2Fv1%2Fnamespaces%2Fsome-namespace&kube-selected=%2Fapis%2Fsome-api-version%2Fnamespaces%2Fsome-namespace%2Fsome-kind%2Fsome-name"
|
||||
>
|
||||
some-namespace
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerTitle title"
|
||||
>
|
||||
<span>
|
||||
Events
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="empty"
|
||||
>
|
||||
No events found
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -16,8 +16,26 @@ exports[`reactively hide kube object detail item renders 1`] = `
|
||||
<div
|
||||
class="drawer-title-text flex gaps align-center"
|
||||
>
|
||||
|
||||
some-kind: some-name
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="content_copy"
|
||||
>
|
||||
content_copy
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
Copy
|
||||
</div>
|
||||
</div>
|
||||
<ul
|
||||
class="Menu MenuActions flex KubeObjectMenu toolbar gaps right bottom"
|
||||
id="menu-actions-for-kube-object-menu-for-some-uid"
|
||||
/>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
@ -37,12 +55,50 @@ exports[`reactively hide kube object detail item renders 1`] = `
|
||||
class="drawer-content flex column box grow"
|
||||
>
|
||||
<div
|
||||
class="box center"
|
||||
class="DrawerItem"
|
||||
>
|
||||
Resource loading has failed:
|
||||
<b>
|
||||
TypeError: store.getByPath is not a function
|
||||
</b>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Name
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
some-name
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="DrawerItem"
|
||||
>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Namespace
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
<a
|
||||
href="/workloads?kube-details=%2Fapi%2Fv1%2Fnamespaces%2Fsome-namespace&kube-selected=%2Fapis%2Fsome-api-version%2Fnamespaces%2Fsome-namespace%2Fsome-kind%2Fsome-name"
|
||||
>
|
||||
some-namespace
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerTitle title"
|
||||
>
|
||||
<span>
|
||||
Events
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="empty"
|
||||
>
|
||||
No events found
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -575,8 +631,26 @@ exports[`reactively hide kube object detail item when the item is shown renders
|
||||
<div
|
||||
class="drawer-title-text flex gaps align-center"
|
||||
>
|
||||
|
||||
some-kind: some-name
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="content_copy"
|
||||
>
|
||||
content_copy
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
Copy
|
||||
</div>
|
||||
</div>
|
||||
<ul
|
||||
class="Menu MenuActions flex KubeObjectMenu toolbar gaps right bottom"
|
||||
id="menu-actions-for-kube-object-menu-for-some-uid"
|
||||
/>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
tabindex="0"
|
||||
@ -596,12 +670,55 @@ exports[`reactively hide kube object detail item when the item is shown renders
|
||||
class="drawer-content flex column box grow"
|
||||
>
|
||||
<div
|
||||
class="box center"
|
||||
class="DrawerItem"
|
||||
>
|
||||
Resource loading has failed:
|
||||
<b>
|
||||
TypeError: store.getByPath is not a function
|
||||
</b>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Name
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
some-name
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="DrawerItem"
|
||||
>
|
||||
<span
|
||||
class="name"
|
||||
>
|
||||
Namespace
|
||||
</span>
|
||||
<span
|
||||
class="value"
|
||||
>
|
||||
<a
|
||||
href="/workloads?kube-details=%2Fapi%2Fv1%2Fnamespaces%2Fsome-namespace&kube-selected=%2Fapis%2Fsome-api-version%2Fnamespaces%2Fsome-namespace%2Fsome-kind%2Fsome-name"
|
||||
>
|
||||
some-namespace
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
data-testid="some-kube-object-detail-item"
|
||||
>
|
||||
Some detail
|
||||
</div>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerTitle title"
|
||||
>
|
||||
<span>
|
||||
Events
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
class="empty"
|
||||
>
|
||||
No events found
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -2,28 +2,29 @@
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import type { AsyncFnMock } from "@async-fn/jest";
|
||||
import asyncFn from "@async-fn/jest";
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import type { ApplicationBuilder } from "../../../../renderer/components/test-utils/get-application-builder";
|
||||
import type { KubernetesCluster } from "../../../../common/catalog-entities";
|
||||
import { getApplicationBuilder } 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 React from "react";
|
||||
import { KubeObject } from "../../../../common/k8s-api/kube-object";
|
||||
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
|
||||
import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store";
|
||||
import type { KubeApi } from "../../../../common/k8s-api/kube-api";
|
||||
import showDetailsInjectable from "../../../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import showDetailsInjectable
|
||||
from "../../../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import type {
|
||||
FakeExtensionOptions,
|
||||
} from "../../../../renderer/components/test-utils/get-extension-fake";
|
||||
import { observable } from "mobx";
|
||||
|
||||
describe("disable kube object detail items when cluster is not relevant", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let rendered: RenderResult;
|
||||
let isEnabledForClusterMock: AsyncFnMock<
|
||||
(cluster: KubernetesCluster) => Promise<boolean>
|
||||
>;
|
||||
const isVisible = observable.box(false);
|
||||
|
||||
beforeEach(async () => {
|
||||
builder = getApplicationBuilder();
|
||||
@ -37,23 +38,22 @@ describe("disable kube object detail items when cluster is not relevant", () =>
|
||||
const store = {
|
||||
api,
|
||||
loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"),
|
||||
getByPath() {
|
||||
},
|
||||
} as Partial<KubeObjectStore<KubeObject>> as KubeObjectStore<KubeObject>;
|
||||
|
||||
apiManager.registerApi(api);
|
||||
apiManager.registerStore(store);
|
||||
});
|
||||
|
||||
isEnabledForClusterMock = asyncFn();
|
||||
|
||||
const testExtension: FakeExtensionOptions = {
|
||||
id: "test-extension-id",
|
||||
name: "test-extension",
|
||||
|
||||
rendererOptions: {
|
||||
isEnabledForCluster: isEnabledForClusterMock,
|
||||
|
||||
kubeObjectDetailItems: [
|
||||
{
|
||||
visible: isVisible,
|
||||
kind: "some-kind",
|
||||
apiVersions: ["some-api-version"],
|
||||
components: {
|
||||
@ -90,10 +90,9 @@ describe("disable kube object detail items when cluster is not relevant", () =>
|
||||
});
|
||||
});
|
||||
|
||||
describe.skip("given extension shouldn't be enabled for the cluster", () => {
|
||||
beforeEach(async () => {
|
||||
// FIXME: Error: Tried to resolve an asyncFn call that has not been made yet.
|
||||
await isEnabledForClusterMock.resolve(false);
|
||||
describe("given extension shouldn't be enabled for the cluster", () => {
|
||||
beforeEach(() => {
|
||||
isVisible.set(false);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@ -107,10 +106,9 @@ describe("disable kube object detail items when cluster is not relevant", () =>
|
||||
});
|
||||
});
|
||||
|
||||
describe.skip("given extension should be enabled for the cluster", () => {
|
||||
beforeEach(async () => {
|
||||
// FIXME: Error: Tried to resolve an asyncFn call that has not been made yet.
|
||||
await isEnabledForClusterMock.resolve(true);
|
||||
describe("given extension should be enabled for the cluster", () => {
|
||||
beforeEach(() => {
|
||||
isVisible.set(true);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
|
||||
@ -3,8 +3,12 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import type { ApplicationBuilder } from "../../../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } 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 type { IObservableValue } from "mobx";
|
||||
import { runInAction, computed, observable } from "mobx";
|
||||
import React from "react";
|
||||
@ -12,7 +16,8 @@ import { KubeObject } from "../../../../common/k8s-api/kube-object";
|
||||
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
|
||||
import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store";
|
||||
import type { KubeApi } from "../../../../common/k8s-api/kube-api";
|
||||
import showDetailsInjectable from "../../../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import showDetailsInjectable
|
||||
from "../../../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import assert from "assert";
|
||||
import type {
|
||||
FakeExtensionOptions,
|
||||
@ -36,6 +41,8 @@ describe("reactively hide kube object detail item", () => {
|
||||
const store = {
|
||||
api,
|
||||
loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"),
|
||||
getByPath() {
|
||||
},
|
||||
} as Partial<KubeObjectStore<KubeObject>> as KubeObjectStore<KubeObject>;
|
||||
|
||||
apiManager.registerApi(api);
|
||||
@ -103,8 +110,7 @@ describe("reactively hide kube object detail item", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
// FIXME: details not rendered in the Drawer (in snapshot?)
|
||||
it.skip("shows the kube object detail item", () => {
|
||||
it("shows the kube object detail item", () => {
|
||||
const actual = rendered.queryByTestId("some-kube-object-detail-item");
|
||||
|
||||
expect(actual).toBeInTheDocument();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user