From 47d6ad94dbe8b5bbf5b3aa937751d24bfc94c079 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Fri, 26 Jun 2026 11:26:16 +0100 Subject: [PATCH] test: fix 4 pre-existing frontend test failures blocking clean suite recoveryDatePresentation: locale-independent date assertion (en-GB systems produce '9 Mar 2026' not 'Mar 9, 2026') quickstartCopyContract: update 'tools' to 'capabilities' matching docs/AI.md copy change AIIntelligence: update stale empty-state text to full current copy SharedPrimitives.guardrails: align guardrail + registry with d79640c41 migration of ProxmoxBackupsTable from FilterButtonGroup to FilterSegmentedControl Full suite: 659 files, 6719 tests, 0 failures. --- frontend-modern/scripts/shared-template-registry.json | 3 +-- .../components/shared/SharedPrimitives.guardrails.test.ts | 6 ++---- frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx | 2 +- .../src/utils/__tests__/quickstartCopyContract.test.ts | 2 +- .../src/utils/__tests__/recoveryDatePresentation.test.ts | 5 ++++- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend-modern/scripts/shared-template-registry.json b/frontend-modern/scripts/shared-template-registry.json index 025a85fd2..a55d23f60 100644 --- a/frontend-modern/scripts/shared-template-registry.json +++ b/frontend-modern/scripts/shared-template-registry.json @@ -3046,8 +3046,7 @@ { "path": "src/components/Settings/GeneralSettingsPanel.tsx" }, { "path": "src/components/Settings/ResourcePicker.tsx" }, { "path": "src/components/Settings/ReportingPanel.tsx" }, - { "path": "src/features/patrol/PatrolIntelligenceHeader.tsx" }, - { "path": "src/features/proxmox/ProxmoxBackupsTable.tsx" } + { "path": "src/features/patrol/PatrolIntelligenceHeader.tsx" } ], "forbiddenPatterns": [ { diff --git a/frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts b/frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts index 267448c12..3d6605024 100644 --- a/frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts +++ b/frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts @@ -407,7 +407,6 @@ describe('shared primitive guardrails', () => { 'src/components/Settings/ResourcePicker.tsx', 'src/components/Settings/ReportingPanel.tsx', 'src/features/patrol/PatrolIntelligenceHeader.tsx', - 'src/features/proxmox/ProxmoxBackupsTable.tsx', ]); expect(registeredRule?.forbiddenPatterns).toEqual( expect.arrayContaining([ @@ -500,9 +499,8 @@ describe('shared primitive guardrails', () => { expect(patrolIntelligenceHeaderSource).not.toContain( 'flex-1 py-1.5 px-2 text-xs font-semibold rounded-md transition-all duration-200', ); - expect(proxmoxBackupsTableSource).toContain('FilterButtonGroup'); - expect(proxmoxBackupsTableSource).toContain('variant="segmented"'); - expect(proxmoxBackupsTableSource).toContain('BACKUP_VIEW_OPTIONS'); + expect(proxmoxBackupsTableSource).toContain('FilterSegmentedControl'); + expect(proxmoxBackupsTableSource).not.toContain('FilterButtonGroup'); expect(proxmoxBackupsTableSource).not.toContain('const viewButtonClass'); expect(proxmoxBackupsTableSource).not.toContain( 'inline-flex items-center gap-1 rounded-md border border-border bg-surface p-1', diff --git a/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx b/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx index 29e82cba2..d0750fb01 100644 --- a/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx +++ b/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx @@ -672,7 +672,7 @@ describe('AIIntelligence entitlement gating', () => { expect(operationsLoopAnchor?.parentElement).toBe(patrolControlAnchor); expect(screen.queryByTestId('patrol-current-work')).not.toBeInTheDocument(); expect( - screen.getByText('Patrol lists current issues here after each check.'), + screen.getByText('Patrol lists current issues here after each check. History keeps past outcomes.'), ).toBeInTheDocument(); expect( screen.queryByText('Issues Patrol found. Infrastructure stays unchanged.'), diff --git a/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts b/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts index 7421757e8..bd03526c4 100644 --- a/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts +++ b/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts @@ -62,7 +62,7 @@ describe('quickstart copy contract', () => { const ai = readRepoFile('docs/AI.md'); expect(ai).toContain('the configured LLM owns diagnosis'); - expect(ai).toContain('Pulse supplies context, tools, safety gates, approval state, and audit trails'); + expect(ai).toContain('Pulse supplies context, capabilities, safety gates, approval state, and audit trails'); expect(ai).toContain('Pulse does not convert them into Pulse-authored findings'); expect(ai).not.toContain("learns what's normal"); diff --git a/frontend-modern/src/utils/__tests__/recoveryDatePresentation.test.ts b/frontend-modern/src/utils/__tests__/recoveryDatePresentation.test.ts index cde2d0885..d721c1bb5 100644 --- a/frontend-modern/src/utils/__tests__/recoveryDatePresentation.test.ts +++ b/frontend-modern/src/utils/__tests__/recoveryDatePresentation.test.ts @@ -28,7 +28,10 @@ describe('recoveryDatePresentation', () => { const key = '2026-03-09'; expect(getRecoveryPrettyDateLabel(key)).toContain('Mar'); expect(getRecoveryFullDateLabel(key)).toContain('2026'); - expect(getRecoveryFilterDateLabel(key)).toBe('Mar 9, 2026'); + const filterLabel = getRecoveryFilterDateLabel(key); + expect(filterLabel).toContain('Mar'); + expect(filterLabel).toContain('9'); + expect(filterLabel).toContain('2026'); expect(getRecoveryCompactAxisLabel(key, 30)).toBe('9'); expect(getRecoveryCompactAxisLabel('2026-04-01', 30)).toBe('4/1'); expect(getRecoveryCompactAxisLabel(key, 90)).toBe('3/9');