Skip to content

Commit 15dd865

Browse files
authored
test(node): Use fake timers to speed up unit tests (#13607)
Changes the rate-limiting tests to use fake timers. This takes the test time from 24s to 4s.
1 parent 4e9533e commit 15dd865

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

packages/node/test/integrations/localvariables.test.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createRateLimiter } from '../../src/integrations/local-variables/common
22
import { createCallbackList } from '../../src/integrations/local-variables/local-variables-sync';
33
import { NODE_MAJOR } from '../../src/nodeVersion';
44

5-
jest.setTimeout(20_000);
5+
jest.useFakeTimers();
66

77
const describeIf = (condition: boolean) => (condition ? describe : describe.skip);
88

@@ -87,10 +87,13 @@ describeIf(NODE_MAJOR >= 18)('LocalVariables', () => {
8787

8888
for (let i = 0; i < 7; i++) {
8989
increment();
90+
jest.advanceTimersByTime(100);
9091
}
92+
93+
jest.advanceTimersByTime(1_000);
9194
});
9295

93-
it('does not call disable if not exceeded', done => {
96+
it('does not call disable if not exceeded', () => {
9497
const increment = createRateLimiter(
9598
5,
9699
() => {
@@ -101,20 +104,17 @@ describeIf(NODE_MAJOR >= 18)('LocalVariables', () => {
101104
},
102105
);
103106

104-
let count = 0;
105-
106-
const timer = setInterval(() => {
107-
for (let i = 0; i < 4; i++) {
108-
increment();
109-
}
107+
for (let i = 0; i < 4; i++) {
108+
increment();
109+
jest.advanceTimersByTime(200);
110+
}
110111

111-
count += 1;
112+
jest.advanceTimersByTime(600);
112113

113-
if (count >= 5) {
114-
clearInterval(timer);
115-
done();
116-
}
117-
}, 1_000);
114+
for (let i = 0; i < 4; i++) {
115+
increment();
116+
jest.advanceTimersByTime(200);
117+
}
118118
});
119119

120120
it('re-enables after timeout', done => {
@@ -134,7 +134,10 @@ describeIf(NODE_MAJOR >= 18)('LocalVariables', () => {
134134

135135
for (let i = 0; i < 10; i++) {
136136
increment();
137+
jest.advanceTimersByTime(100);
137138
}
139+
140+
jest.advanceTimersByTime(10_000);
138141
});
139142
});
140143
});

0 commit comments

Comments
 (0)