diff --git a/webui/src/__tests__/App.test.tsx b/webui/src/__tests__/App.test.tsx index 857ff0e..7497c31 100644 --- a/webui/src/__tests__/App.test.tsx +++ b/webui/src/__tests__/App.test.tsx @@ -12,12 +12,14 @@ import { AuthProvider } from '@/contexts/AuthContext' vi.mock('@/lib/api', () => ({ instancesApi: { list: vi.fn(), + get: vi.fn(), create: vi.fn(), update: vi.fn(), start: vi.fn(), stop: vi.fn(), restart: vi.fn(), delete: vi.fn(), + getHealth: vi.fn(), }, serverApi: { getHelp: vi.fn(), @@ -30,9 +32,21 @@ vi.mock('@/lib/api', () => ({ vi.mock('@/lib/healthService', () => ({ healthService: { subscribe: vi.fn(() => () => {}), - checkHealth: vi.fn(), + refreshHealth: vi.fn(() => Promise.resolve()), + checkHealthAfterOperation: vi.fn(), + performHealthCheck: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), }, - checkHealth: vi.fn(), + checkHealth: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), })) function renderApp() { diff --git a/webui/src/components/__tests__/InstanceCard.test.tsx b/webui/src/components/__tests__/InstanceCard.test.tsx index f45b65b..b8d19f7 100644 --- a/webui/src/components/__tests__/InstanceCard.test.tsx +++ b/webui/src/components/__tests__/InstanceCard.test.tsx @@ -7,7 +7,12 @@ import { BackendType } from '@/types/instance' // Mock the health hook since we're not testing health logic here vi.mock('@/hooks/useInstanceHealth', () => ({ - useInstanceHealth: vi.fn(() => ({ status: 'ok', lastChecked: new Date() })) + useInstanceHealth: vi.fn(() => ({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })) })) describe('InstanceCard - Instance Actions and State', () => { diff --git a/webui/src/components/__tests__/InstanceList.test.tsx b/webui/src/components/__tests__/InstanceList.test.tsx index cbd9e3f..bae6ea3 100644 --- a/webui/src/components/__tests__/InstanceList.test.tsx +++ b/webui/src/components/__tests__/InstanceList.test.tsx @@ -12,12 +12,14 @@ import { AuthProvider } from '@/contexts/AuthContext' vi.mock('@/lib/api', () => ({ instancesApi: { list: vi.fn(), + get: vi.fn(), create: vi.fn(), update: vi.fn(), start: vi.fn(), stop: vi.fn(), restart: vi.fn(), delete: vi.fn(), + getHealth: vi.fn(), } })) @@ -25,9 +27,21 @@ vi.mock('@/lib/api', () => ({ vi.mock('@/lib/healthService', () => ({ healthService: { subscribe: vi.fn(() => () => {}), - checkHealth: vi.fn(), + refreshHealth: vi.fn(() => Promise.resolve()), + checkHealthAfterOperation: vi.fn(), + performHealthCheck: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), }, - checkHealth: vi.fn(), + checkHealth: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), })) function renderInstanceList(editInstance = vi.fn()) { diff --git a/webui/src/contexts/__tests__/InstancesContext.test.tsx b/webui/src/contexts/__tests__/InstancesContext.test.tsx index c60455f..1920d6a 100644 --- a/webui/src/contexts/__tests__/InstancesContext.test.tsx +++ b/webui/src/contexts/__tests__/InstancesContext.test.tsx @@ -11,15 +11,38 @@ import { AuthProvider } from "../AuthContext"; vi.mock("@/lib/api", () => ({ instancesApi: { list: vi.fn(), + get: vi.fn(), create: vi.fn(), update: vi.fn(), start: vi.fn(), stop: vi.fn(), restart: vi.fn(), delete: vi.fn(), + getHealth: vi.fn(), }, })); +// Mock health service +vi.mock("@/lib/healthService", () => ({ + healthService: { + subscribe: vi.fn(() => () => {}), + refreshHealth: vi.fn(() => Promise.resolve()), + checkHealthAfterOperation: vi.fn(), + performHealthCheck: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), + }, + checkHealth: vi.fn(() => Promise.resolve({ + state: 'ready', + instanceStatus: 'running', + lastChecked: new Date(), + source: 'http' + })), +})); + // Test component to access context function TestComponent() { const {