fix(e2e): scope heading locators to main content area
Cherry-picked from PR #50 to fix E2E test failures on lodash PR. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
+21
-13
@@ -19,16 +19,18 @@ test.describe('Intel GPU plugin smoke tests', () => {
|
|||||||
|
|
||||||
// Should navigate to the overview route
|
// Should navigate to the overview route
|
||||||
await expect(page).toHaveURL(/\/intel-gpu$/);
|
await expect(page).toHaveURL(/\/intel-gpu$/);
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Overview/i })).toBeVisible();
|
await expect(
|
||||||
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Overview' })
|
||||||
|
).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('overview page renders GPU device list or empty state', async ({ page }) => {
|
test('overview page renders GPU device list or empty state', async ({ page }) => {
|
||||||
await page.goto('/c/main/intel-gpu');
|
await page.goto('/c/main/intel-gpu');
|
||||||
|
|
||||||
// Overview heading should be present
|
// Overview heading should be present
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Overview/i })).toBeVisible({
|
await expect(
|
||||||
timeout: 15_000,
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Overview' })
|
||||||
});
|
).toBeVisible({ timeout: 15_000 });
|
||||||
|
|
||||||
// Either a populated table/list or an empty-state indicator must be visible
|
// Either a populated table/list or an empty-state indicator must be visible
|
||||||
const hasTable = await page.locator('table').first().isVisible().catch(() => false);
|
const hasTable = await page.locator('table').first().isVisible().catch(() => false);
|
||||||
@@ -43,9 +45,9 @@ test.describe('Intel GPU plugin smoke tests', () => {
|
|||||||
test('device plugins page renders or shows empty state', async ({ page }) => {
|
test('device plugins page renders or shows empty state', async ({ page }) => {
|
||||||
await page.goto('/c/main/intel-gpu/device-plugins');
|
await page.goto('/c/main/intel-gpu/device-plugins');
|
||||||
|
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Device Plugins/i })).toBeVisible({
|
await expect(
|
||||||
timeout: 15_000,
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Device Plugins' })
|
||||||
});
|
).toBeVisible({ timeout: 15_000 });
|
||||||
|
|
||||||
const hasTable = await page.locator('table').first().isVisible().catch(() => false);
|
const hasTable = await page.locator('table').first().isVisible().catch(() => false);
|
||||||
const hasEmptyState = await page
|
const hasEmptyState = await page
|
||||||
@@ -61,18 +63,24 @@ test.describe('Intel GPU plugin smoke tests', () => {
|
|||||||
// not after clicking the parent entry from the overview. Test route
|
// not after clicking the parent entry from the overview. Test route
|
||||||
// accessibility via direct navigation — each route must render its heading.
|
// accessibility via direct navigation — each route must render its heading.
|
||||||
await page.goto('/c/main/intel-gpu');
|
await page.goto('/c/main/intel-gpu');
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Overview/i })).toBeVisible({
|
await expect(
|
||||||
timeout: 15_000,
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Overview' })
|
||||||
});
|
).toBeVisible({ timeout: 15_000 });
|
||||||
|
|
||||||
await page.goto('/c/main/intel-gpu/nodes');
|
await page.goto('/c/main/intel-gpu/nodes');
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Nodes/i })).toBeVisible({ timeout: 15_000 });
|
await expect(
|
||||||
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Nodes' })
|
||||||
|
).toBeVisible({ timeout: 15_000 });
|
||||||
|
|
||||||
await page.goto('/c/main/intel-gpu/pods');
|
await page.goto('/c/main/intel-gpu/pods');
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Pods/i })).toBeVisible({ timeout: 15_000 });
|
await expect(
|
||||||
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Pods' })
|
||||||
|
).toBeVisible({ timeout: 15_000 });
|
||||||
|
|
||||||
await page.goto('/c/main/intel-gpu/metrics');
|
await page.goto('/c/main/intel-gpu/metrics');
|
||||||
await expect(page.getByRole('heading', { name: /Intel GPU — Metrics/i })).toBeVisible({ timeout: 15_000 });
|
await expect(
|
||||||
|
page.locator('main').getByRole('heading', { name: 'Intel GPU — Metrics' })
|
||||||
|
).toBeVisible({ timeout: 15_000 });
|
||||||
});
|
});
|
||||||
|
|
||||||
test('plugin settings page shows intel-gpu plugin entry', async ({ page }) => {
|
test('plugin settings page shows intel-gpu plugin entry', async ({ page }) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user