Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f55f76a3be | |||
| be254b1eec | |||
| 90efdf5569 |
@@ -16,8 +16,9 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
e2e:
|
e2e:
|
||||||
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@hugh/add-pnpm-support-plugin-e2e
|
uses: privilegedescalation/.github/.github/workflows/plugin-e2e.yaml@main
|
||||||
with:
|
with:
|
||||||
node-version: "22"
|
node-version: '22'
|
||||||
headlamp-version: v0.40.1
|
headlamp-version: v0.40.1
|
||||||
e2e-namespace: headlamp-dev
|
e2e-namespace: headlamp-dev
|
||||||
|
plugin-name: tns-csi
|
||||||
|
|||||||
+13
-4
@@ -1,28 +1,35 @@
|
|||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
|
|
||||||
|
async function waitForSidebar(page: import('@playwright/test').Page) {
|
||||||
|
const sidebar = page.getByRole('navigation', { name: 'Navigation' });
|
||||||
|
await expect(sidebar).toBeVisible({ timeout: 15_000 });
|
||||||
|
await page.waitForLoadState('networkidle');
|
||||||
|
return sidebar;
|
||||||
|
}
|
||||||
|
|
||||||
test.describe('TNS CSI plugin smoke tests', () => {
|
test.describe('TNS CSI plugin smoke tests', () => {
|
||||||
test('sidebar contains TNS CSI entry', async ({ page }) => {
|
test('sidebar contains TNS CSI entry', async ({ page }) => {
|
||||||
await page.goto('/');
|
await page.goto('/');
|
||||||
const sidebar = page.getByRole('navigation', { name: 'Navigation' });
|
const sidebar = await waitForSidebar(page);
|
||||||
await expect(sidebar).toBeVisible({ timeout: 15_000 });
|
|
||||||
await expect(sidebar.getByRole('button', { name: /tns.csi/i })).toBeVisible();
|
await expect(sidebar.getByRole('button', { name: /tns.csi/i })).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TNS CSI sidebar entry navigates to TNS CSI view', async ({ page }) => {
|
test('TNS CSI sidebar entry navigates to TNS CSI view', async ({ page }) => {
|
||||||
await page.goto('/');
|
await page.goto('/');
|
||||||
const sidebar = page.getByRole('navigation', { name: 'Navigation' });
|
const sidebar = await waitForSidebar(page);
|
||||||
await expect(sidebar).toBeVisible({ timeout: 15_000 });
|
|
||||||
|
|
||||||
const entry = sidebar.getByRole('button', { name: /tns.csi/i });
|
const entry = sidebar.getByRole('button', { name: /tns.csi/i });
|
||||||
await expect(entry).toBeVisible();
|
await expect(entry).toBeVisible();
|
||||||
await entry.click();
|
await entry.click();
|
||||||
|
|
||||||
|
await page.waitForLoadState('networkidle');
|
||||||
await expect(page).toHaveURL(/tns-csi/);
|
await expect(page).toHaveURL(/tns-csi/);
|
||||||
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible();
|
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('TNS CSI page renders content', async ({ page }) => {
|
test('TNS CSI page renders content', async ({ page }) => {
|
||||||
await page.goto('/c/main/tns-csi');
|
await page.goto('/c/main/tns-csi');
|
||||||
|
await waitForSidebar(page);
|
||||||
|
|
||||||
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible({
|
await expect(page.getByRole('heading', { name: /TNS.CSI/i })).toBeVisible({
|
||||||
timeout: 15_000,
|
timeout: 15_000,
|
||||||
@@ -35,6 +42,8 @@ test.describe('TNS CSI plugin smoke tests', () => {
|
|||||||
|
|
||||||
test('plugin settings page shows TNS CSI plugin entry', async ({ page }) => {
|
test('plugin settings page shows TNS CSI plugin entry', async ({ page }) => {
|
||||||
await page.goto('/settings/plugins');
|
await page.goto('/settings/plugins');
|
||||||
|
await page.waitForLoadState('networkidle');
|
||||||
|
await page.waitForSelector('[class*="PluginList"], [class*="plugins"], table, list', { timeout: 10_000 }).catch(() => {});
|
||||||
|
|
||||||
const pluginEntry = page.locator('text=/tns.csi/i').first();
|
const pluginEntry = page.locator('text=/tns.csi/i').first();
|
||||||
await expect(pluginEntry).toBeVisible({ timeout: 30_000 });
|
await expect(pluginEntry).toBeVisible({ timeout: 30_000 });
|
||||||
|
|||||||
+4
-4
@@ -24,8 +24,7 @@
|
|||||||
"format:check": "prettier --check src/",
|
"format:check": "prettier --check src/",
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
"test:watch": "vitest",
|
"test:watch": "vitest",
|
||||||
"e2e": "playwright test",
|
"e2e": "playwright test"
|
||||||
"e2e:headed": "playwright test --headed"
|
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
@@ -49,11 +48,12 @@
|
|||||||
"react-router-dom": "^5.3.0",
|
"react-router-dom": "^5.3.0",
|
||||||
"typescript": "~5.6.2",
|
"typescript": "~5.6.2",
|
||||||
"vitest": "^3.2.4",
|
"vitest": "^3.2.4",
|
||||||
"@playwright/test": "^1.58.2"
|
"@playwright/test": "^1.59.1"
|
||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"tar": "^7.5.11",
|
"tar": "^7.5.11",
|
||||||
"undici": "^7.24.3",
|
"undici": "^7.24.3",
|
||||||
"vite": ">=6.4.2"
|
"vite": ">=6.4.2",
|
||||||
|
"elliptic": ">=6.6.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+567
-529
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user