diff --git a/src/__tests__/health.test.tsx b/src/__tests__/health.test.tsx index f21dcd9..4053e8c 100644 --- a/src/__tests__/health.test.tsx +++ b/src/__tests__/health.test.tsx @@ -114,4 +114,31 @@ describe('health command', () => { unmount(); }); -}); \ No newline at end of file + + it('should treat succeeded pods as healthy', async () => { + vi.mocked(getRunningPods).mockResolvedValue([ + { + name: 'succeeded-pod', + namespace: 'default', + status: 'Succeeded', + restarts: 0, + node: 'node-1', + }, + ]); + + const { unmount } = render( + , + { stdout: mockStdout as any, stdin: mockStdin as any, debug: true } + ); + await waitForFrameToContain(mockStdout, 'succeeded-pod'); + + const output = mockStdout.frames.join('\n'); + expect(output).toContain('✔'); + + unmount(); + }); +}); diff --git a/src/ui/HealthDashboard.tsx b/src/ui/HealthDashboard.tsx index 8aced64..686fbdb 100644 --- a/src/ui/HealthDashboard.tsx +++ b/src/ui/HealthDashboard.tsx @@ -155,7 +155,7 @@ const WorkloadListItem: React.FC<{ } const isFailing = item.type === 'pod' - ? (item.status !== 'Running' && item.status !== 'Pending') + ? (item.status !== 'Running' && item.status !== 'Pending' && item.status !== 'Succeeded') : (item.status !== 'running'); const icon = isFailing ? '✖' : '✔';