diff --git a/src/renderer/components/+workloads-pods/__tests__/__snapshots__/pod-details-list.test.tsx.snap b/src/renderer/components/+workloads-pods/__tests__/__snapshots__/pod-details-list.test.tsx.snap new file mode 100644 index 0000000000..d2bcb797ed --- /dev/null +++ b/src/renderer/components/+workloads-pods/__tests__/__snapshots__/pod-details-list.test.tsx.snap @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` when no pods passed and podStore is loaded renders 1`] = ` +
+
+ No items found +
+
+`; diff --git a/src/renderer/components/+workloads-pods/__tests__/pod-details-list.test.tsx b/src/renderer/components/+workloads-pods/__tests__/pod-details-list.test.tsx new file mode 100644 index 0000000000..59906d0bf1 --- /dev/null +++ b/src/renderer/components/+workloads-pods/__tests__/pod-details-list.test.tsx @@ -0,0 +1,61 @@ +/** + * 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 { DiContainer } from "@ogre-tools/injectable"; +import React from "react"; +import fetchInjectable, { Fetch } from "../../../../common/fetch/fetch.injectable"; +import { getDiForUnitTesting } from "../../../getDiForUnitTesting"; +import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable"; +import { DiRender, renderFor } from "../../test-utils/renderFor"; +import { PodDetailsList } from "../pod-details-list"; +import type { PodStore } from "../store"; +import podStoreInjectable from "../store.injectable"; + +describe("", () => { + let di: DiContainer; + let podStore: PodStore; + let render: DiRender; + let fetchMock: AsyncFnMock; + + beforeEach(() => { + di = getDiForUnitTesting({ doGeneralOverrides: true }); + di.override(storesAndApisCanBeCreatedInjectable, () => true); + + fetchMock = asyncFn(); + podStore = di.inject(podStoreInjectable); + + di.override(fetchInjectable, () => fetchMock); + + render = renderFor(di); + }); + + describe("when no pods passed and podStore is loaded", () => { + beforeEach(() => { + podStore.isLoaded = true; + }); + + it("renders", () => { + const result = render( + + ); + + expect(result.container).toMatchSnapshot(); + }); + + it("shows empty message", () => { + const result = render( + + ); + + expect(result.getByText("No items found")).toBeInTheDocument(); + }); + }); +}); \ No newline at end of file