import { test, expect } from '@playwright/test'; const adminUser = { id: 'user-1', email: 'admin@example.test', role: 'admin', plan: 'internal', displayName: 'Dashboard Admin', emailVerified: true, currentProduct: 'bytelyst-devops', products: [{ productId: 'bytelyst-devops', plan: 'internal', role: 'admin' }], mfaEnabled: false, mfaMethods: [], }; test.describe('Hermes Mission Control', () => { test.beforeEach(async ({ page }) => { await page.addInitScript(() => { window.localStorage.setItem('access_token', 'e2e-access-token'); window.localStorage.setItem('refresh_token', 'e2e-refresh-token'); }); await page.route('**/auth/me', async (route) => { await route.fulfill({ status: 200, contentType: 'application/json', body: JSON.stringify(adminUser) }); }); }); test('renders the mission control overview and navigates to companion views', async ({ page }) => { await page.goto('/hermes'); await expect(page.getByRole('heading', { name: 'Hermes Mission Control' })).toBeVisible(); await expect(page.getByText('Active Missions')).toBeVisible(); await expect(page.getByText('Founder Attention Queue')).toBeVisible(); await expect(page.getByText('Product Health Snapshot')).toBeVisible(); await page.getByRole('link', { name: 'Task Ledger' }).click(); await expect(page.getByRole('heading', { name: 'Task Ledger' })).toBeVisible(); await expect(page.getByText('Task table')).toBeVisible(); await page.getByRole('link', { name: 'Open' }).first().click(); await expect(page.getByText('Hermes learning')).toBeVisible(); await expect(page.getByText('Timeline')).toBeVisible(); await page.goto('/hermes/products'); await expect(page.getByRole('heading', { name: 'Product Portfolio' })).toBeVisible(); await page.goto('/hermes/history'); await expect(page.getByRole('heading', { name: 'Historical Activity' })).toBeVisible(); await page.goto('/hermes/agents'); await expect(page.getByRole('heading', { name: 'Agent & Tool Observability' })).toBeVisible(); await page.goto('/hermes/settings'); await expect(page.getByRole('heading', { name: 'Settings & Configuration' })).toBeVisible(); }); });