diff --git a/frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx b/frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx index cd9061791..b8a7d10ab 100644 --- a/frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx +++ b/frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx @@ -112,6 +112,9 @@ export const ResourceChangeSummary: Component = (pro

By {change.actor}

+ +

{change.reason}

+
diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceChangeSummary.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceChangeSummary.test.tsx index 055c91d9a..9d4b8b391 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceChangeSummary.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceChangeSummary.test.tsx @@ -28,6 +28,7 @@ describe('ResourceChangeSummary', () => { kind: 'restart', from: 'running', to: 'restarting', + reason: 'Restart after maintenance', observedAt: '2026-03-18T12:00:00Z', sourceType: 'platform_event', sourceAdapter: 'docker_adapter', @@ -51,6 +52,7 @@ describe('ResourceChangeSummary', () => { screen.getByRole('link', { name: 'Open related resource vm-200 in Infrastructure' }), ).toHaveAttribute('href', '/infrastructure?resource=vm-200'); expect(screen.getByText('By agent:ops-helper')).toBeInTheDocument(); + expect(screen.getByText('Restart after maintenance')).toBeInTheDocument(); expect(screen.queryByRole('link', { name: 'Open resource storage-1 in Infrastructure' })).toBeNull(); }); diff --git a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx index c7950ae69..8cfba79d4 100644 --- a/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx +++ b/frontend-modern/src/components/Infrastructure/__tests__/ResourceDetailDrawer.identity-runtime.test.tsx @@ -354,6 +354,7 @@ describe('ResourceDetailDrawer runtime and identity cards', () => { expect(getByText('Latest canonical change')).toBeInTheDocument(); const latestChangeItem = getByText('Config update: Updated canonical config').closest('li'); expect(latestChangeItem).not.toBeNull(); + expect(getByText('Updated canonical config')).toBeInTheDocument(); expect(latestChangeItem).toHaveTextContent(/just now|m ago|h ago|d ago/); }); }); diff --git a/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx b/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx index 429f876ba..eda91f320 100644 --- a/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx +++ b/frontend-modern/src/pages/__tests__/AIIntelligence.test.tsx @@ -589,6 +589,7 @@ describe('AIIntelligence entitlement gating', () => { expect(screen.getByText(/Health A ยท 91\/100/)).toBeInTheDocument(); expect(screen.getByText(/Recent changes 1/)).toBeInTheDocument(); expect(screen.getByText('Config update: Updated guest configuration')).toBeInTheDocument(); + expect(screen.getByText('Updated guest configuration')).toBeInTheDocument(); expect( screen.getByRole('link', { name: 'Open resource vm-100 in Infrastructure' }), ).toHaveAttribute('href', '/infrastructure?resource=vm-100');