up tests and theme
This commit is contained in:
@@ -327,10 +327,10 @@ test.describe('REG-UI-01: Doctor Registry Health Card', () => {
|
||||
});
|
||||
|
||||
test('registry health panel displays after doctor run', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Wait for doctor page to load
|
||||
await expect(page.getByRole('heading', { name: /doctor/i })).toBeVisible({ timeout: 10000 });
|
||||
await expect(page.getByRole('heading', { name: 'Doctor Diagnostics' })).toBeVisible({ timeout: 10000 });
|
||||
|
||||
// Registry health section should be visible after results load
|
||||
const registrySection = page.locator('text=/registry.*health|configured.*registries/i');
|
||||
@@ -340,7 +340,7 @@ test.describe('REG-UI-01: Doctor Registry Health Card', () => {
|
||||
});
|
||||
|
||||
test('registry cards show health indicators', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for health status indicators (healthy/degraded/unhealthy)
|
||||
const healthIndicators = page.locator(
|
||||
@@ -353,7 +353,7 @@ test.describe('REG-UI-01: Doctor Registry Health Card', () => {
|
||||
});
|
||||
|
||||
test('registry cards display registry names', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Check for registry names from mock data
|
||||
const harborRegistry = page.getByText(/harbor.*production|harbor\.example\.com/i);
|
||||
@@ -363,7 +363,7 @@ test.describe('REG-UI-01: Doctor Registry Health Card', () => {
|
||||
});
|
||||
|
||||
test('clicking registry card shows details', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Find and click a registry card
|
||||
const registryCard = page.locator('[class*="registry-card"], [class*="health-card"]').first();
|
||||
@@ -390,11 +390,11 @@ test.describe('REG-UI-01: Doctor Registry Capability Matrix', () => {
|
||||
});
|
||||
|
||||
test('capability matrix displays after doctor run', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for capability matrix
|
||||
const capabilityMatrix = page.locator(
|
||||
'text=/capability.*matrix|oci.*capabilities/i, [class*="capability-matrix"]'
|
||||
'[class*="capability-matrix"], :text-matches("capability.*matrix|oci.*capabilities", "i")'
|
||||
);
|
||||
|
||||
if ((await capabilityMatrix.count()) > 0) {
|
||||
@@ -403,7 +403,7 @@ test.describe('REG-UI-01: Doctor Registry Capability Matrix', () => {
|
||||
});
|
||||
|
||||
test('capability matrix shows OCI features', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Check for OCI capability names
|
||||
const ociFeatures = [
|
||||
@@ -423,7 +423,7 @@ test.describe('REG-UI-01: Doctor Registry Capability Matrix', () => {
|
||||
});
|
||||
|
||||
test('capability matrix shows supported/unsupported indicators', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for checkmark/x indicators or supported/unsupported text
|
||||
const indicators = page.locator(
|
||||
@@ -436,7 +436,7 @@ test.describe('REG-UI-01: Doctor Registry Capability Matrix', () => {
|
||||
});
|
||||
|
||||
test('capability rows are expandable', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Find expandable capability row
|
||||
const expandableRow = page.locator(
|
||||
@@ -463,11 +463,11 @@ test.describe('REG-UI-01: Doctor Registry Check Details', () => {
|
||||
});
|
||||
|
||||
test('check results display for registry checks', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for check results
|
||||
const checkResults = page.locator(
|
||||
'[class*="check-result"], [class*="check-item"], text=/integration\.registry/i'
|
||||
'[class*="check-result"], [class*="check-item"], :text-matches("integration\\.registry", "i")'
|
||||
);
|
||||
|
||||
if ((await checkResults.count()) > 0) {
|
||||
@@ -476,7 +476,7 @@ test.describe('REG-UI-01: Doctor Registry Check Details', () => {
|
||||
});
|
||||
|
||||
test('check results show severity indicators', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for severity badges/icons
|
||||
const severityIndicators = page.locator(
|
||||
@@ -489,7 +489,7 @@ test.describe('REG-UI-01: Doctor Registry Check Details', () => {
|
||||
});
|
||||
|
||||
test('expanding check shows evidence', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Find and click a check result
|
||||
const checkResult = page.locator(
|
||||
@@ -511,7 +511,7 @@ test.describe('REG-UI-01: Doctor Registry Check Details', () => {
|
||||
});
|
||||
|
||||
test('failed checks show remediation steps', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for failed check
|
||||
const failedCheck = page.locator('[class*="fail"], [class*="severity-fail"]').first();
|
||||
@@ -531,7 +531,7 @@ test.describe('REG-UI-01: Doctor Registry Check Details', () => {
|
||||
});
|
||||
|
||||
test('evidence displays key-value pairs', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Find and expand a check
|
||||
const checkResult = page.locator('[class*="check-result"], [class*="check-item"]').first();
|
||||
@@ -569,7 +569,7 @@ test.describe('REG-UI-01: Doctor Registry Integration', () => {
|
||||
})
|
||||
);
|
||||
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Click run button if visible
|
||||
const runButton = page.getByRole('button', { name: /run|check|quick|normal|full/i });
|
||||
@@ -580,7 +580,7 @@ test.describe('REG-UI-01: Doctor Registry Integration', () => {
|
||||
});
|
||||
|
||||
test('registry filter shows only registry checks', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for category filter
|
||||
const categoryFilter = page.locator(
|
||||
@@ -600,7 +600,7 @@ test.describe('REG-UI-01: Doctor Registry Integration', () => {
|
||||
});
|
||||
|
||||
test('severity filter highlights failed registry checks', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for severity filter
|
||||
const failFilter = page.locator(
|
||||
@@ -619,7 +619,7 @@ test.describe('REG-UI-01: Doctor Registry Integration', () => {
|
||||
});
|
||||
|
||||
test('health summary shows correct counts', async ({ page }) => {
|
||||
await page.goto('/doctor');
|
||||
await page.goto('/ops/doctor');
|
||||
|
||||
// Look for health summary counts
|
||||
const summarySection = page.locator('[class*="summary"], [class*="health-summary"]');
|
||||
|
||||
Reference in New Issue
Block a user