diff options
| author | Anas H. Sulaiman <[email protected]> | 2025-06-14 10:25:34 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-14 14:25:34 +0000 |
| commit | 4873fce7919b4d74cee183a91fa8a3af58aef993 (patch) | |
| tree | c08502c1e4592667160cb006528f868fd6283294 /packages/core/src/utils/bfsFileSearch.test.ts | |
| parent | e6d54771686b3f9537a5a05c9f9101afad3ffdcd (diff) | |
centralize file filtering in `FileDiscoveryService` (#1039)
Diffstat (limited to 'packages/core/src/utils/bfsFileSearch.test.ts')
| -rw-r--r-- | packages/core/src/utils/bfsFileSearch.test.ts | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/packages/core/src/utils/bfsFileSearch.test.ts b/packages/core/src/utils/bfsFileSearch.test.ts index f313c427..83e9b0b9 100644 --- a/packages/core/src/utils/bfsFileSearch.test.ts +++ b/packages/core/src/utils/bfsFileSearch.test.ts @@ -4,18 +4,19 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Dirent, PathLike } from 'fs'; +import * as fs from 'fs'; import { vi, describe, it, expect, beforeEach } from 'vitest'; -import * as fs from 'fs/promises'; +import * as fsPromises from 'fs/promises'; import * as gitUtils from './gitUtils.js'; import { bfsFileSearch } from './bfsFileSearch.js'; import { FileDiscoveryService } from '../services/fileDiscoveryService.js'; +vi.mock('fs'); vi.mock('fs/promises'); vi.mock('./gitUtils.js'); -const createMockDirent = (name: string, isFile: boolean): Dirent => { - const dirent = new Dirent(); +const createMockDirent = (name: string, isFile: boolean): fs.Dirent => { + const dirent = new fs.Dirent(); dirent.name = name; dirent.isFile = () => isFile; dirent.isDirectory = () => !isFile; @@ -24,9 +25,9 @@ const createMockDirent = (name: string, isFile: boolean): Dirent => { // Type for the specific overload we're using type ReaddirWithFileTypes = ( - path: PathLike, + path: fs.PathLike, options: { withFileTypes: true }, -) => Promise<Dirent[]>; +) => Promise<fs.Dirent[]>; describe('bfsFileSearch', () => { beforeEach(() => { @@ -34,7 +35,7 @@ describe('bfsFileSearch', () => { }); it('should find a file in the root directory', async () => { - const mockFs = vi.mocked(fs); + const mockFs = vi.mocked(fsPromises); const mockReaddir = mockFs.readdir as unknown as ReaddirWithFileTypes; vi.mocked(mockReaddir).mockResolvedValue([ createMockDirent('file1.txt', true), @@ -46,7 +47,7 @@ describe('bfsFileSearch', () => { }); it('should find a file in a subdirectory', async () => { - const mockFs = vi.mocked(fs); + const mockFs = vi.mocked(fsPromises); const mockReaddir = mockFs.readdir as unknown as ReaddirWithFileTypes; vi.mocked(mockReaddir).mockImplementation(async (dir) => { if (dir === '/test') { @@ -63,7 +64,7 @@ describe('bfsFileSearch', () => { }); it('should ignore specified directories', async () => { - const mockFs = vi.mocked(fs); + const mockFs = vi.mocked(fsPromises); const mockReaddir = mockFs.readdir as unknown as ReaddirWithFileTypes; vi.mocked(mockReaddir).mockImplementation(async (dir) => { if (dir === '/test') { @@ -89,7 +90,7 @@ describe('bfsFileSearch', () => { }); it('should respect maxDirs limit', async () => { - const mockFs = vi.mocked(fs); + const mockFs = vi.mocked(fsPromises); const mockReaddir = mockFs.readdir as unknown as ReaddirWithFileTypes; vi.mocked(mockReaddir).mockImplementation(async (dir) => { if (dir === '/test') { @@ -115,7 +116,7 @@ describe('bfsFileSearch', () => { }); it('should respect .gitignore files', async () => { - const mockFs = vi.mocked(fs); + const mockFs = vi.mocked(fsPromises); const mockGitUtils = vi.mocked(gitUtils); mockGitUtils.isGitRepository.mockReturnValue(true); const mockReaddir = mockFs.readdir as unknown as ReaddirWithFileTypes; @@ -135,10 +136,9 @@ describe('bfsFileSearch', () => { } return []; }); - mockFs.readFile.mockResolvedValue('subdir2'); + vi.mocked(fs).readFileSync.mockReturnValue('subdir2'); const fileService = new FileDiscoveryService('/test'); - await fileService.initialize(); const result = await bfsFileSearch('/test', { fileName: 'file1.txt', fileService, |
