From 442bcc623cc243cbbe3587976a8929bdab4a7b7d Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Feb 2026 22:39:18 +0000 Subject: [PATCH] Fix TypeScript errors in useContainerActions test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added missing 'success: true' property to all mock ContainerActionResponse objects in the test file. These were causing TypeScript compilation errors during the Next.js build process (tsc --noEmit), even though Jest tests were passing. The ContainerActionResponse interface requires the 'success' property, but the mocks were only providing 'message'. This caused CI builds to fail while local Jest tests passed because Jest's TypeScript handling is more lenient than Next.js's build-time type checking. Fixed: - mockApiClient.startContainer responses (2 occurrences) - mockApiClient.stopContainer response - mockApiClient.restartContainer response - mockApiClient.removeContainer response Verified: - npx tsc --noEmit: ✓ No TypeScript errors - npm test: ✓ All tests pass - npm run build: ✓ Build succeeds https://claude.ai/code/session_7d4f1b7d-7a0d-44db-b437-c76b6b61dfb2 --- .../lib/hooks/__tests__/useContainerActions.test.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/lib/hooks/__tests__/useContainerActions.test.tsx b/frontend/lib/hooks/__tests__/useContainerActions.test.tsx index acc9c0f..f4cf3e0 100644 --- a/frontend/lib/hooks/__tests__/useContainerActions.test.tsx +++ b/frontend/lib/hooks/__tests__/useContainerActions.test.tsx @@ -16,7 +16,7 @@ describe('useContainerActions', () => { describe('handleStart', () => { it('should start container and show success', async () => { - mockApiClient.startContainer.mockResolvedValueOnce({ message: 'Started' }); + mockApiClient.startContainer.mockResolvedValueOnce({ success: true, message: 'Started' }); const { result } = renderHook(() => useContainerActions(containerId, mockOnUpdate)); @@ -50,7 +50,7 @@ describe('useContainerActions', () => { describe('handleStop', () => { it('should stop container and show success', async () => { - mockApiClient.stopContainer.mockResolvedValueOnce({ message: 'Stopped' }); + mockApiClient.stopContainer.mockResolvedValueOnce({ success: true, message: 'Stopped' }); const { result } = renderHook(() => useContainerActions(containerId, mockOnUpdate)); @@ -78,7 +78,7 @@ describe('useContainerActions', () => { describe('handleRestart', () => { it('should restart container and show success', async () => { - mockApiClient.restartContainer.mockResolvedValueOnce({ message: 'Restarted' }); + mockApiClient.restartContainer.mockResolvedValueOnce({ success: true, message: 'Restarted' }); const { result } = renderHook(() => useContainerActions(containerId, mockOnUpdate)); @@ -105,7 +105,7 @@ describe('useContainerActions', () => { describe('handleRemove', () => { it('should remove container and show success', async () => { - mockApiClient.removeContainer.mockResolvedValueOnce({ message: 'Removed' }); + mockApiClient.removeContainer.mockResolvedValueOnce({ success: true, message: 'Removed' }); const { result } = renderHook(() => useContainerActions(containerId, mockOnUpdate)); @@ -133,7 +133,7 @@ describe('useContainerActions', () => { describe('closeSnackbar', () => { it('should close snackbar', async () => { - mockApiClient.startContainer.mockResolvedValueOnce({ message: 'Started' }); + mockApiClient.startContainer.mockResolvedValueOnce({ success: true, message: 'Started' }); const { result } = renderHook(() => useContainerActions(containerId));