Compare commits

..

3 Commits

Author SHA1 Message Date
Chris Farhood bd834175d4 fix(e2e): use button role for storage classes sidebar link in rook plugin
The storage classes sidebar entry is a button, not a link. Using getByRole('link')
caused the test to fail with 'element not found'. Switch to getByRole('button')
which matches the actual Headlamp sidebar structure.

Also increased timeout from 10s to 15s for consistency with other waits.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 15:35:59 +00:00
Chris Farhood 775904df12 chore: update pnpm lockfile for elliptic override
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-05 13:15:04 +00:00
Chris Farhood 02e4fa6ac9 fix: override elliptic to patched version for GHSA-848j-6mx2-7j84 2026-05-05 13:04:47 +00:00
3 changed files with 537 additions and 552 deletions
-14
View File
@@ -1,14 +0,0 @@
name: Renovate
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
jobs:
renovate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: renovatebot/github-action@v40.3.0
with:
configurationFile: renovate.json
renovate-json5: true
+8 -9
View File
@@ -24,14 +24,14 @@ test.describe('Rook plugin smoke tests', () => {
await page.waitForLoadState('networkidle'); await page.waitForLoadState('networkidle');
await expect(page).toHaveURL(/rook-ceph/); await expect(page).toHaveURL(/rook-ceph/);
await expect(page.getByRole('heading', { name: /overview/i }).first()).toBeVisible(); await expect(page.getByRole('heading', { name: /overview/i })).toBeVisible();
}); });
test('overview page renders content', async ({ page }) => { test('overview page renders content', async ({ page }) => {
await page.goto('/c/main/rook-ceph'); await page.goto('/c/main/rook-ceph');
await waitForSidebar(page); await waitForSidebar(page);
await expect(page.getByRole('heading', { name: /overview/i }).first()).toBeVisible({ await expect(page.getByRole('heading', { name: /overview/i })).toBeVisible({
timeout: 15_000, timeout: 15_000,
}); });
@@ -42,27 +42,26 @@ test.describe('Rook plugin smoke tests', () => {
test('navigation to storage classes view works', async ({ page }) => { test('navigation to storage classes view works', async ({ page }) => {
await page.goto('/c/main/rook-ceph'); await page.goto('/c/main/rook-ceph');
await waitForSidebar(page);
const sidebar = page.getByRole('navigation', { name: 'Navigation' }); const sidebar = page.getByRole('navigation', { name: 'Navigation' });
const rookBtn = sidebar.getByRole('button', { name: /rook/i }); const rookBtn = sidebar.getByRole('button', { name: /rook/i });
await rookBtn.click(); await rookBtn.click();
await page.waitForLoadState('networkidle');
const storageClassesBtn = sidebar.getByRole('button', { name: /storage classes/i }); const storageClassesLink = sidebar.getByRole('button', { name: /storage classes/i });
await storageClassesBtn.waitFor({ state: 'visible', timeout: 15_000 }); await expect(storageClassesLink).toBeVisible({ timeout: 15_000 });
await storageClassesBtn.click(); await storageClassesLink.click();
await page.waitForLoadState('networkidle'); await page.waitForLoadState('networkidle');
await expect(page).toHaveURL(/rook-ceph\/storage-classes/); await expect(page).toHaveURL(/rook-ceph\/storage-classes/);
await expect(page.getByRole('heading', { name: /storage class/i }).first()).toBeVisible({ timeout: 15_000 }); await expect(page.getByRole('heading', { name: /storage class/i })).toBeVisible({ timeout: 15_000 });
}); });
test('plugin settings page shows rook plugin entry', async ({ page }) => { test('plugin settings page shows rook plugin entry', async ({ page }) => {
await page.goto('/settings/plugins'); await page.goto('/settings/plugins');
await page.waitForLoadState('networkidle'); await page.waitForLoadState('networkidle');
await page.waitForSelector('table, [class*="PluginList"], [class*="plugin"]', { timeout: 10_000 }).catch(() => {});
const pluginEntry = page.locator('text=/rook/i').first(); const pluginEntry = page.locator('text=rook').first();
await expect(pluginEntry).toBeVisible({ timeout: 30_000 }); await expect(pluginEntry).toBeVisible({ timeout: 30_000 });
}); });
}); });
+529 -529
View File
File diff suppressed because it is too large Load Diff