diff --git a/tests/browser/workspace.spec.mjs b/tests/browser/workspace.spec.mjs index d84b8607..acdb9d3a 100644 --- a/tests/browser/workspace.spec.mjs +++ b/tests/browser/workspace.spec.mjs @@ -427,7 +427,6 @@ for (const width of [1600, 390]) test(`overview and handoff render with concept const SYSTEM_SECTION_LABELS = ['Overview', 'Appearance', 'Sources & scans', 'Integrations', 'Auto-tagging', 'Maintenance', 'Backup & export', 'Diagnostics & logs']; const SYSTEM_HASHES = ['overview', 'appearance', 'sources', 'integrations', 'tagging', 'maintenance', 'backups', 'diagnostics']; -const SYSTEM_HANDOFFS = { maintenance: ['/prompt_manager/admin', '/prompt_manager/gallery'] }; test('System is native: the concept shell, section navigation, sections, hand-offs and the Save row', async ({ page }) => { const mutations = []; @@ -464,20 +463,20 @@ test('System is native: the concept shell, section navigation, sections, hand-of // The section changes in place: focus stays on the pressed section, not the page title. await expect(button).toBeFocused(); // S2 Task 6: Overview is native (workspace-system.spec.mjs), and so are Appearance (S3 Task 8) and Sources & scans - // (S4 Task 11, workspace-system-sources.spec.mjs, its update notice shown in a fresh browser); Maintenance shows - // its health-check notice above the hand-off (D123); every other section hands off. + // (S4 Task 11, workspace-system-sources.spec.mjs, its update notice shown in a fresh browser) and Maintenance (S7 + // Task 19, workspace-system-maintenance.spec.mjs); every other section hands off. if (hash === 'overview') await expect(layout.locator(':scope > .summary-metrics')).toBeVisible(); if (hash === 'sources') await expect(layout.locator('#source-list .operation')).toHaveCount(2); expect(await layout.evaluate(node => [...node.children].map(child => `${child.localName}.${child.className}`))) .toEqual({ overview: ['div.summary-metrics', 'div.two-col', 'div.save-row'], appearance: ['section.surface', 'div.save-row'], sources: ['div.notice', 'section.surface', 'div.save-row'], - maintenance: ['div.notice', 'section.surface handoff', 'div.save-row'] }[hash] + maintenance: ['div.notice', 'section.surface', 'section.surface', 'div.save-row'] }[hash] ?? ['section.surface handoff', 'div.save-row']); - if (['overview', 'appearance', 'sources'].includes(hash)) continue; + if (['overview', 'appearance', 'sources', 'maintenance'].includes(hash)) continue; const handoff = layout.locator('section.handoff'); await expect(handoff.locator('h2')).toHaveText('Your current tools are ready'); expect(await handoff.locator('a.workspace-link').evaluateAll(links => links.map(link => link.getAttribute('href')))) - .toEqual(SYSTEM_HANDOFFS[hash] ?? ['/prompt_manager/admin']); + .toEqual(['/prompt_manager/admin']); await expect(layout.locator('#settings-status')).toHaveText('No unsaved changes.'); await expect(page.locator('aside.sidebar a[href="#/system"]')).toHaveAttribute('aria-current', 'page'); } diff --git a/tools/vendor/frontend-coverage-baseline.json b/tools/vendor/frontend-coverage-baseline.json index 986d3d64..9c191443 100644 --- a/tools/vendor/frontend-coverage-baseline.json +++ b/tools/vendor/frontend-coverage-baseline.json @@ -1,9 +1,9 @@ { "admin.js": { - "lines": 31, + "lines": 32, "branches": 58, - "functions": 26, - "statements": 31 + "functions": 27, + "statements": 32 }, "api-client.js": { "lines": 98, @@ -12,10 +12,10 @@ "statements": 98 }, "cache-ownership.js": { - "lines": 80, - "branches": 80, - "functions": 80, - "statements": 80 + "lines": 94, + "branches": 89, + "functions": 98, + "statements": 94 }, "classic-node.js": { "lines": 98, @@ -49,7 +49,7 @@ }, "gallery.js": { "lines": 45, - "branches": 64, + "branches": 66, "functions": 48, "statements": 45 }, @@ -194,7 +194,7 @@ "workspace/file-inspector.mjs": { "lines": 96, "branches": 93, - "functions": 92, + "functions": 93, "statements": 96 }, "workspace/heading.mjs": { @@ -247,7 +247,7 @@ }, "workspace/image-tagging.mjs": { "lines": 97, - "branches": 90, + "branches": 92, "functions": 88, "statements": 97 }, @@ -344,7 +344,7 @@ "workspace/library-location.mjs": { "lines": 94, "branches": 91, - "functions": 92, + "functions": 93, "statements": 94 }, "workspace/library-state.mjs": { @@ -378,14 +378,14 @@ "statements": 97 }, "workspace/local-resolver-stages.mjs": { - "lines": 94, + "lines": 95, "branches": 93, "functions": 98, - "statements": 94 + "statements": 95 }, "workspace/local-resolver-support.mjs": { "lines": 96, - "branches": 80, + "branches": 81, "functions": 98, "statements": 96 }, @@ -414,10 +414,10 @@ "statements": 98 }, "workspace/maintenance-review.mjs": { - "lines": 80, - "branches": 80, - "functions": 80, - "statements": 80 + "lines": 94, + "branches": 81, + "functions": 90, + "statements": 94 }, "workspace/media-viewer.mjs": { "lines": 98, @@ -438,10 +438,10 @@ "statements": 98 }, "workspace/prompt-blocks.mjs": { - "lines": 90, - "branches": 92, + "lines": 98, + "branches": 95, "functions": 98, - "statements": 90 + "statements": 98 }, "workspace/prompt-inspector.mjs": { "lines": 98, @@ -499,15 +499,15 @@ }, "workspace/system-controls.mjs": { "lines": 98, - "branches": 87, + "branches": 89, "functions": 89, "statements": 98 }, "workspace/system-maintenance.mjs": { - "lines": 80, + "lines": 92, "branches": 80, - "functions": 80, - "statements": 80 + "functions": 92, + "statements": 92 }, "workspace/system-overview.mjs": { "lines": 96,