fix(e2e): hybrid approach - unscoped headings, main-scoped text
Use broader heading selectors matching intel-gpu pattern, but keep text checks scoped to main element to avoid sidebar conflicts. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
+11
-15
@@ -13,21 +13,17 @@ test.describe('Polaris plugin smoke tests', () => {
|
|||||||
await page.goto('/c/main/polaris');
|
await page.goto('/c/main/polaris');
|
||||||
|
|
||||||
// SectionHeader renders a heading
|
// SectionHeader renders a heading
|
||||||
await expect(
|
await expect(page.getByRole('heading', { name: /Polaris \u2014 Overview/i })).toBeVisible();
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: 'Polaris \u2014 Overview' })
|
|
||||||
).toBeVisible();
|
|
||||||
|
|
||||||
// "Cluster Score" section exists with a percentage
|
// "Cluster Score" section exists with a percentage
|
||||||
await expect(page.locator('[role="main"]').getByText('Cluster Score')).toBeVisible();
|
await expect(page.locator('main').getByText('Cluster Score')).toBeVisible();
|
||||||
await expect(page.locator('[role="main"]').getByText(/%/).first()).toBeVisible();
|
await expect(page.locator('main').getByText(/%/).first()).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('namespaces page renders table with namespace buttons', async ({ page }) => {
|
test('namespaces page renders table with namespace buttons', async ({ page }) => {
|
||||||
await page.goto('/c/main/polaris/namespaces');
|
await page.goto('/c/main/polaris/namespaces');
|
||||||
|
|
||||||
await expect(
|
await expect(page.getByRole('heading', { name: /Polaris \u2014 Namespaces/i })).toBeVisible();
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: 'Polaris \u2014 Namespaces' })
|
|
||||||
).toBeVisible();
|
|
||||||
|
|
||||||
// Table should have at least one row with a namespace button
|
// Table should have at least one row with a namespace button
|
||||||
const table = page.locator('table');
|
const table = page.locator('table');
|
||||||
@@ -52,14 +48,14 @@ test.describe('Polaris plugin smoke tests', () => {
|
|||||||
|
|
||||||
// Drawer should open and show the namespace name in the heading
|
// Drawer should open and show the namespace name in the heading
|
||||||
await expect(
|
await expect(
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
page.getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
|
|
||||||
// "Namespace Score" section should be present in drawer
|
// "Namespace Score" section should be present in drawer
|
||||||
await expect(page.locator('[role="main"]').getByText('Namespace Score')).toBeVisible();
|
await expect(page.locator('main').getByText('Namespace Score')).toBeVisible();
|
||||||
|
|
||||||
// Resources table should exist in drawer
|
// Resources table should exist in drawer
|
||||||
await expect(page.locator('[role="main"]').getByRole('heading', { name: 'Resources' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Resources' })).toBeVisible();
|
||||||
|
|
||||||
// URL hash should be updated with namespace name
|
// URL hash should be updated with namespace name
|
||||||
await expect(page).toHaveURL(/\/polaris\/namespaces#/);
|
await expect(page).toHaveURL(/\/polaris\/namespaces#/);
|
||||||
@@ -77,7 +73,7 @@ test.describe('Polaris plugin smoke tests', () => {
|
|||||||
|
|
||||||
// Verify drawer is open
|
// Verify drawer is open
|
||||||
await expect(
|
await expect(
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
page.getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
|
|
||||||
// Press Escape key
|
// Press Escape key
|
||||||
@@ -85,7 +81,7 @@ test.describe('Polaris plugin smoke tests', () => {
|
|||||||
|
|
||||||
// Drawer should close (heading should not be visible anymore)
|
// Drawer should close (heading should not be visible anymore)
|
||||||
await expect(
|
await expect(
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
page.getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
||||||
).not.toBeVisible();
|
).not.toBeVisible();
|
||||||
|
|
||||||
// URL hash should be cleared
|
// URL hash should be cleared
|
||||||
@@ -105,10 +101,10 @@ test.describe('Polaris plugin smoke tests', () => {
|
|||||||
|
|
||||||
// Drawer should automatically open with the namespace details
|
// Drawer should automatically open with the namespace details
|
||||||
await expect(
|
await expect(
|
||||||
page.locator('[role="main"]').getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
page.getByRole('heading', { name: `Polaris \u2014 ${namespaceName}` })
|
||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
|
|
||||||
// "Namespace Score" section should be present
|
// "Namespace Score" section should be present
|
||||||
await expect(page.locator('[role="main"]').getByText('Namespace Score')).toBeVisible();
|
await expect(page.locator('main').getByText('Namespace Score')).toBeVisible();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user