From ced728fbb436fbf504542882a5d7abe962b4d245 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Wed, 6 May 2026 22:42:37 +0000 Subject: [PATCH] fix(e2e): use button role with explicit waitFor for storage classes As directed by Nancy, try button role with explicit waitFor before falling back to direct navigation. The sidebar Storage Classes item may be a button not a link. Co-Authored-By: Paperclip --- e2e/rook.spec.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/e2e/rook.spec.ts b/e2e/rook.spec.ts index e8d9535..ca230b8 100644 --- a/e2e/rook.spec.ts +++ b/e2e/rook.spec.ts @@ -41,7 +41,17 @@ test.describe('Rook plugin smoke tests', () => { }); test('navigation to storage classes view works', async ({ page }) => { - await page.goto('/c/main/rook-ceph/storage-classes'); + await page.goto('/c/main/rook-ceph'); + await waitForSidebar(page); + + const sidebar = page.getByRole('navigation', { name: 'Navigation' }); + const rookBtn = sidebar.getByRole('button', { name: /rook/i }); + await rookBtn.click(); + + const storageClassesBtn = sidebar.getByRole('button', { name: /storage classes/i }); + await storageClassesBtn.waitFor({ state: 'visible', timeout: 15_000 }); + await storageClassesBtn.click(); + await page.waitForLoadState('networkidle'); await expect(page).toHaveURL(/rook-ceph\/storage-classes/); await expect(page.getByRole('heading', { name: /storage class/i }).first()).toBeVisible({ timeout: 15_000 });