Skip to content

Commit e5050f2

Browse files
authored
chore(test): the createFileWatcher test sometimes timeout (#3732)
1 parent 0dd531a commit e5050f2

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

packages/cli/core/tests/createFileWatcher.test.ts

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import * as path from 'path';
2-
import { fs, wait } from '@modern-js/utils';
2+
import { wait } from '@modern-js/utils';
33
import { createFileWatcher } from '../src/utils';
44
import { IAppContext } from '../src';
55

66
const mockAppDirectory = path.join(__dirname, './fixtures/index-test');
7-
const mockSrcDirectory = path.join(mockAppDirectory, './src');
87

98
describe('createFileWatcher', () => {
109
const argv = process.argv.slice(0);
@@ -15,53 +14,46 @@ describe('createFileWatcher', () => {
1514
});
1615

1716
afterAll(() => {
18-
const file = path.join(mockSrcDirectory, './index.ts');
19-
if (fs.existsSync(file)) {
20-
fs.unlinkSync(file);
21-
}
2217
process.argv = argv;
2318
});
2419

2520
it('will trigger add event', async () => {
2621
let triggeredType = '';
2722
let triggeredFile = '';
23+
2824
const appContext: IAppContext = {
2925
appDirectory: '',
3026
distDirectory: '',
3127
packageName: '',
3228
serverConfigFile: '',
3329
configFile: '',
3430
} as IAppContext;
31+
3532
const hooksRunner = {
36-
watchFiles: async () => [mockSrcDirectory],
33+
watchFiles: async () => [mockAppDirectory],
3734
fileChange: jest.fn(({ filename, eventType }) => {
3835
triggeredType = eventType;
3936
triggeredFile = filename;
4037
}),
4138
};
4239

43-
if (await fs.pathExists(mockSrcDirectory)) {
44-
await fs.remove(mockSrcDirectory);
45-
}
46-
4740
const watcher = await createFileWatcher(
4841
appContext as any,
4942
hooksRunner as any,
5043
);
5144
await wait(100);
5245

53-
const file = path.join(mockSrcDirectory, './index.ts');
54-
await fs.outputFile(file, '');
55-
await wait(500);
56-
// expect(hooksRunner.fileChange).toBeCalledTimes(1);
57-
// expect(triggeredType).toBe('add');
46+
// Add a file
47+
const file = path.join(mockAppDirectory, './package.json');
48+
watcher?.emit('add', file);
49+
expect(triggeredType).toBe('add');
50+
expect(hooksRunner.fileChange).toBeCalledTimes(1);
5851
expect(file.includes(triggeredFile)).toBeTruthy();
5952

60-
await wait(100);
61-
await fs.remove(file);
62-
await wait(2000);
63-
expect(hooksRunner.fileChange).toBeCalledTimes(2);
53+
// Remove a file
54+
watcher?.emit('unlink', file);
6455
expect(triggeredType).toBe('unlink');
56+
expect(hooksRunner.fileChange).toBeCalledTimes(2);
6557
expect(file.includes(triggeredFile)).toBeTruthy();
6658

6759
watcher?.close();

0 commit comments

Comments
 (0)