diff --git a/integration/__tests__/app.tests.ts b/integration/__tests__/app.tests.ts index 74081a2061..8845ae91a8 100644 --- a/integration/__tests__/app.tests.ts +++ b/integration/__tests__/app.tests.ts @@ -13,6 +13,7 @@ const itif = (condition: boolean) => condition ? it : it.skip jest.setTimeout(60000) +// FIXME (!): improve / simplify all css-selectors + use [data-test-id="some-id"] (already used in some tests below) describe("Lens integration tests", () => { const TEST_NAMESPACE = "integration-tests" @@ -394,7 +395,7 @@ describe("Lens integration tests", () => { if (drawer !== "") { it(`shows ${drawer} drawer`, async () => { expect(clusterAdded).toBe(true) - await app.client.click(`.sidebar-nav #${drawerId} span.link-text`) + await app.client.click(`.sidebar-nav [data-test-id="${drawerId}"] span.link-text`) await app.client.waitUntilTextExists(`a[href^="/${pages[0].href}"]`, pages[0].name) }) } @@ -409,7 +410,7 @@ describe("Lens integration tests", () => { // hide the drawer it(`hides ${drawer} drawer`, async () => { expect(clusterAdded).toBe(true) - await app.client.click(`.sidebar-nav #${drawerId} span.link-text`) + await app.client.click(`.sidebar-nav [data-test-id="${drawerId}"] span.link-text`) await expect(app.client.waitUntilTextExists(`a[href^="/${pages[0].href}"]`, pages[0].name, 100)).rejects.toThrow() }) } @@ -428,7 +429,7 @@ describe("Lens integration tests", () => { it(`shows a logs for a pod`, async () => { expect(clusterAdded).toBe(true) // Go to Pods page - await app.client.click(".sidebar-nav #workloads span.link-text") + await app.client.click(".sidebar-nav [data-test-id='workloads'] span.link-text") await app.client.waitUntilTextExists('a[href^="/pods"]', "Pods") await app.client.click('a[href^="/pods"]') await app.client.waitUntilTextExists("div.TableCell", "kube-apiserver") @@ -479,7 +480,7 @@ describe("Lens integration tests", () => { it(`creates a pod in ${TEST_NAMESPACE} namespace`, async () => { expect(clusterAdded).toBe(true) - await app.client.click(".sidebar-nav #workloads span.link-text") + await app.client.click(".sidebar-nav [data-test-id='workloads'] span.link-text") await app.client.waitUntilTextExists('a[href^="/pods"]', "Pods") await app.client.click('a[href^="/pods"]') await app.client.waitUntilTextExists("div.TableCell", "kube-apiserver") diff --git a/src/extensions/registries/page-menu-registry.ts b/src/extensions/registries/page-menu-registry.ts index ea2f04d288..6bd161ccb2 100644 --- a/src/extensions/registries/page-menu-registry.ts +++ b/src/extensions/registries/page-menu-registry.ts @@ -30,5 +30,5 @@ export class PageMenuRegistry extends BaseRegist } } -export const globalPageMenuRegistry = new PageMenuRegistry(); +export const globalPageMenuRegistry = new PageMenuRegistry>(); export const clusterPageMenuRegistry = new PageMenuRegistry(); diff --git a/src/extensions/registries/page-registry.ts b/src/extensions/registries/page-registry.ts index 0169f99de5..886ab8a584 100644 --- a/src/extensions/registries/page-registry.ts +++ b/src/extensions/registries/page-registry.ts @@ -20,7 +20,7 @@ export interface PageComponents { Page: React.ComponentType; } -export class PageRegistry extends BaseRegistry { +export class PageRegistry extends BaseRegistry { getItems() { return super.getItems().map(item => { item.routePath = item.extension.getPageRoute(item.routePath) @@ -29,5 +29,5 @@ export class PageRegistry extends BaseRegistry { } } -export const globalPageRegistry = new PageRegistry(); +export const globalPageRegistry = new PageRegistry>(); export const clusterPageRegistry = new PageRegistry(); diff --git a/src/renderer/components/layout/sidebar.tsx b/src/renderer/components/layout/sidebar.tsx index 064a3744a1..b70d7a3e62 100644 --- a/src/renderer/components/layout/sidebar.tsx +++ b/src/renderer/components/layout/sidebar.tsx @@ -97,6 +97,7 @@ export class Sidebar extends React.Component {
{ icon={} /> { icon={} /> { icon={} /> { icon={} /> { icon={} /> { text={Storage} /> { text={Namespaces} /> { text={Events} /> { text={Apps} /> { text={Access Control} /> ("sidebar_menu_item", []); @@ -233,14 +245,14 @@ class SidebarNavItem extends React.Component { }; render() { - const { isHidden, isActive, subMenus = [], icon, text, url, children, className } = this.props; + const { isHidden, isActive, subMenus = [], icon, text, url, children, className, testId } = this.props; if (isHidden) { return null; } const extendedView = (subMenus.length > 0 || children) && this.context.pinned; if (extendedView) { return ( -
+
{icon} {text}