diff --git a/src/renderer/components/select/select.tsx b/src/renderer/components/select/select.tsx
index cd599e6683..d38ff57f3a 100644
--- a/src/renderer/components/select/select.tsx
+++ b/src/renderer/components/select/select.tsx
@@ -233,7 +233,9 @@ class NonInjectedSelect<
Menu: ({ className, ...props }) => (
),
}}
diff --git a/src/renderer/components/test-utils/get-application-builder.tsx b/src/renderer/components/test-utils/get-application-builder.tsx
index a817d21b71..6a735657a8 100644
--- a/src/renderer/components/test-utils/get-application-builder.tsx
+++ b/src/renderer/components/test-utils/get-application-builder.tsx
@@ -15,7 +15,7 @@ import { Observer } from "mobx-react";
import subscribeStoresInjectable from "../../kube-watch-api/subscribe-stores.injectable";
import allowedResourcesInjectable from "../../../common/cluster-store/allowed-resources.injectable";
import type { RenderResult } from "@testing-library/react";
-import { fireEvent } from "@testing-library/react";
+import { getByText, fireEvent } from "@testing-library/react";
import type { KubeResource } from "../../../common/rbac";
import { Sidebar } from "../layout/sidebar";
import type { DiContainer } from "@ogre-tools/injectable";
@@ -52,6 +52,9 @@ import { getDiForUnitTesting as getMainDi } from "../../../main/getDiForUnitTest
import { overrideChannels } from "../../../test-utils/channel-fakes/override-channels";
import type { TrayMenuItem } from "../../../main/tray/tray-menu-item/tray-menu-item-injection-token";
import trayIconPathsInjectable from "../../../main/tray/tray-icon-path.injectable";
+import assert from "assert";
+import { openMenu } from "react-select-event";
+import userEvent from "@testing-library/user-event";
type Callback = (dis: DiContainers) => void | Promise;
@@ -85,6 +88,11 @@ export interface ApplicationBuilder {
helmCharts: {
navigate: () => void;
};
+
+ select: {
+ openMenu: (id: string) => void;
+ selectOption: (menuId: string, labelText: string) => void;
+ };
}
interface DiContainers {
@@ -433,6 +441,30 @@ export const getApplicationBuilder = () => {
return rendered;
},
+
+ select: {
+ openMenu: (menuId) => {
+ const selector = rendered.container.querySelector(
+ `#${menuId}`,
+ );
+
+ assert(selector);
+
+ openMenu(selector);
+ },
+
+ selectOption: (menuId, labelText) => {
+ const menuOptions = rendered.baseElement.querySelector(
+ `.${menuId}-options`,
+ );
+
+ assert(menuOptions);
+
+ const option = getByText(menuOptions, labelText);
+
+ userEvent.click(option);
+ },
+ },
};
return builder;