Skip to content

Commit f76e229

Browse files
committed
Update tests
1 parent 1962105 commit f76e229

File tree

5 files changed

+726
-681
lines changed

5 files changed

+726
-681
lines changed

src/__tests__/utils.test.ts

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616

1717
/* eslint-disable no-restricted-imports */
1818

19-
import * as utils from '../utils';
20-
import {describe, expect, jest, test} from '@jest/globals';
19+
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
2120
import fs from 'fs';
2221
import tmp from 'tmp';
2322

@@ -34,6 +33,13 @@ jest.mock('fs', () => ({
3433
}));
3534
jest.mock('tmp', () => ({dirSync: jest.fn()}));
3635

36+
let utils: typeof import('../utils');
37+
beforeEach(async () => {
38+
await jest.isolateModulesAsync(async () => {
39+
utils = await import('../utils');
40+
});
41+
});
42+
3743
const mockedFs = jest.mocked(fs);
3844
const mockedTmp = jest.mocked(tmp);
3945

@@ -176,7 +182,10 @@ describe('Utils', () => {
176182
utils.mktmpdir();
177183

178184
expect(mockedTmp.dirSync).toHaveBeenCalledTimes(1);
179-
expect(mockedTmp.dirSync).toHaveBeenCalledWith({unsafeCleanup: true});
185+
expect(mockedTmp.dirSync).toHaveBeenCalledWith({
186+
name: '_work0',
187+
unsafeCleanup: true
188+
});
180189
});
181190

182191
test('calls tmp.dirSync with the specified boolean parameter in input', () => {
@@ -188,7 +197,10 @@ describe('Utils', () => {
188197
utils.mktmpdir(false);
189198

190199
expect(mockedTmp.dirSync).toHaveBeenCalledTimes(1);
191-
expect(mockedTmp.dirSync).toHaveBeenCalledWith({unsafeCleanup: false});
200+
expect(mockedTmp.dirSync).toHaveBeenCalledWith({
201+
name: '_work0',
202+
unsafeCleanup: false
203+
});
192204
});
193205

194206
test('returns the name of the directory created by tmp.dirSync', () => {
@@ -201,5 +213,38 @@ describe('Utils', () => {
201213

202214
expect(content).toEqual('tmpDir');
203215
});
216+
217+
test('returns progressive folders if called repeatedly', () => {
218+
mockedTmp.dirSync.mockReturnValueOnce({
219+
name: 'tmpDir',
220+
removeCallback: () => {}
221+
});
222+
mockedTmp.dirSync.mockReturnValueOnce({
223+
name: 'tmpDir',
224+
removeCallback: () => {}
225+
});
226+
mockedTmp.dirSync.mockReturnValueOnce({
227+
name: 'tmpDir',
228+
removeCallback: () => {}
229+
});
230+
231+
utils.mktmpdir();
232+
utils.mktmpdir();
233+
utils.mktmpdir();
234+
235+
expect(mockedTmp.dirSync).toHaveBeenCalledTimes(3);
236+
expect(mockedTmp.dirSync).toHaveBeenCalledWith({
237+
name: '_work0',
238+
unsafeCleanup: true
239+
});
240+
expect(mockedTmp.dirSync).toHaveBeenCalledWith({
241+
name: '_work1',
242+
unsafeCleanup: true
243+
});
244+
expect(mockedTmp.dirSync).toHaveBeenCalledWith({
245+
name: '_work2',
246+
unsafeCleanup: true
247+
});
248+
});
204249
});
205250
});

0 commit comments

Comments
 (0)