From 9854deb43b1ee8133b49570222cc2cb67e9dd4f0 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Wed, 4 Jun 2025 18:46:31 +0200 Subject: [PATCH] Add test for handling empty file path in saveLastOpenedFile function --- app/src/hooks/useLastOpenedFile.test.ts | 32 ++++++++++++------------- app/src/hooks/useLastOpenedFile.ts | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/src/hooks/useLastOpenedFile.test.ts b/app/src/hooks/useLastOpenedFile.test.ts index 187a8f0..0d288de 100644 --- a/app/src/hooks/useLastOpenedFile.test.ts +++ b/app/src/hooks/useLastOpenedFile.test.ts @@ -183,6 +183,22 @@ describe('useLastOpenedFile', () => { expect(fileApi.updateLastOpenedFile).not.toHaveBeenCalled(); }); + it('does nothing when file path is empty', async () => { + const mockUpdateLastOpenedFile = vi.mocked(fileApi.updateLastOpenedFile); + mockUpdateLastOpenedFile.mockResolvedValue(undefined); + + const { result } = renderHook(() => useLastOpenedFile()); + + await act(async () => { + await result.current.saveLastOpenedFile(''); + }); + + expect(mockUpdateLastOpenedFile).not.toHaveBeenCalledWith( + 'test-workspace', + '' + ); + }); + it('handles different file path formats', async () => { const mockUpdateLastOpenedFile = vi.mocked(fileApi.updateLastOpenedFile); mockUpdateLastOpenedFile.mockResolvedValue(undefined); @@ -211,22 +227,6 @@ describe('useLastOpenedFile', () => { expect(mockUpdateLastOpenedFile).toHaveBeenCalledTimes(testCases.length); }); - - it('handles empty file path', async () => { - const mockUpdateLastOpenedFile = vi.mocked(fileApi.updateLastOpenedFile); - mockUpdateLastOpenedFile.mockResolvedValue(undefined); - - const { result } = renderHook(() => useLastOpenedFile()); - - await act(async () => { - await result.current.saveLastOpenedFile(''); - }); - - expect(mockUpdateLastOpenedFile).toHaveBeenCalledWith( - 'test-workspace', - '' - ); - }); }); describe('workspace dependency', () => { diff --git a/app/src/hooks/useLastOpenedFile.ts b/app/src/hooks/useLastOpenedFile.ts index 5c0ceeb..2b2469c 100644 --- a/app/src/hooks/useLastOpenedFile.ts +++ b/app/src/hooks/useLastOpenedFile.ts @@ -24,7 +24,7 @@ export const useLastOpenedFile = (): UseLastOpenedFileResult => { const saveLastOpenedFile = useCallback( async (filePath: string): Promise => { - if (!currentWorkspace) return; + if (!currentWorkspace || !filePath.trim()) return; try { await updateLastOpenedFile(currentWorkspace.name, filePath);