From 41aea616212f3211c318f9acabc94050d7bf309e Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 11 Mar 2021 13:26:05 +0200 Subject: [PATCH] fix integration tests, clean up Signed-off-by: Roman --- integration/__tests__/cluster-pages.tests.ts | 21 ++++++++++--------- .../components/layout/sidebar-item.scss | 7 +++++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/integration/__tests__/cluster-pages.tests.ts b/integration/__tests__/cluster-pages.tests.ts index e4bd84f572..977f8fcaf4 100644 --- a/integration/__tests__/cluster-pages.tests.ts +++ b/integration/__tests__/cluster-pages.tests.ts @@ -53,12 +53,13 @@ describe("Lens cluster pages", () => { } }; - function getSidebarItemSelectors(itemId: string) { - const baseSelector = `.Sidebar [data-test-id="${itemId}"]`; + function getSidebarSelectors(itemId: string) { + const root = `.SidebarItem[data-test-id="${itemId}"]`; return { - sidebarItemRoot: baseSelector, - expandSubMenu: `${baseSelector} .nav-item a`, + mainLink: `${root} .nav-item a`, + expandSubMenu: `${root} .nav-item`, + menuLink: (href: string) => `.Sidebar .sub-menu a[href^="/${href}"]`, }; } @@ -319,19 +320,19 @@ describe("Lens cluster pages", () => { }]; tests.forEach(({ drawer = "", drawerId = "", pages }) => { - const selectors = getSidebarItemSelectors(drawerId); + const selectors = getSidebarSelectors(drawerId); if (drawer !== "") { it(`shows ${drawer} drawer`, async () => { expect(clusterAdded).toBe(true); await app.client.click(selectors.expandSubMenu); - await app.client.waitUntilTextExists(`a[href^="/${pages[0].href}"]`, pages[0].name); + await app.client.waitUntilTextExists(selectors.menuLink(pages[0].href), pages[0].name); }); } pages.forEach(({ name, href, expectedSelector, expectedText }) => { it(`shows ${drawer}->${name} page`, async () => { expect(clusterAdded).toBe(true); - await app.client.click(`a[href^="/${href}"]`); + await app.client.click(drawer ? selectors.menuLink(href) : selectors.mainLink); await app.client.waitUntilTextExists(expectedSelector, expectedText); }); }); @@ -341,7 +342,7 @@ describe("Lens cluster pages", () => { it(`hides ${drawer} drawer`, async () => { expect(clusterAdded).toBe(true); await app.client.click(selectors.expandSubMenu); - await expect(app.client.waitUntilTextExists(`a[href^="/${pages[0].href}"]`, pages[0].name, 100)).rejects.toThrow(); + await expect(app.client.waitUntilTextExists(selectors.menuLink(pages[0].href), pages[0].name, 100)).rejects.toThrow(); }); } }); @@ -359,7 +360,7 @@ describe("Lens cluster pages", () => { it(`shows a logs for a pod`, async () => { expect(clusterAdded).toBe(true); // Go to Pods page - await app.client.click(getSidebarItemSelectors("workloads").expandSubMenu); + await app.client.click(getSidebarSelectors("workloads").expandSubMenu); await app.client.waitUntilTextExists('a[href^="/pods"]', "Pods"); await app.client.click('a[href^="/pods"]'); await app.client.click(".NamespaceSelect"); @@ -426,7 +427,7 @@ describe("Lens cluster pages", () => { it(`creates a pod in ${TEST_NAMESPACE} namespace`, async () => { expect(clusterAdded).toBe(true); - await app.client.click(getSidebarItemSelectors("workloads").expandSubMenu); + await app.client.click(getSidebarSelectors("workloads").expandSubMenu); await app.client.waitUntilTextExists('a[href^="/pods"]', "Pods"); await app.client.click('a[href^="/pods"]'); diff --git a/src/renderer/components/layout/sidebar-item.scss b/src/renderer/components/layout/sidebar-item.scss index 804165edd6..15a03ca28a 100644 --- a/src/renderer/components/layout/sidebar-item.scss +++ b/src/renderer/components/layout/sidebar-item.scss @@ -11,8 +11,12 @@ padding: $itemSpacing; border: none; cursor: pointer; + display: grid; + grid-template-columns: 1fr 25px; a { + grid-row: 2; + grid-column: 1 / span 2; overflow: hidden; text-overflow: ellipsis; text-decoration: none; @@ -28,6 +32,9 @@ .expand-icon { --size: 20px; + grid-row: 2; + grid-column: 2; + pointer-events: none; } }