Skip to content

Commit c9f4081

Browse files
yjaaidiclydin
authored andcommitted
feat(@schematics/angular): set up fake timers in beforeEach instead of beforeAll
When migrating `fakeAsync` to vitest fake timers, fake timers were setup in `beforeAll` to support `fakeAsync` usage in `beforeAll` / `afterAll` hooks. This was sacrificing timers isolation between tests. This change resets fake timers between tests. Any usage of fake timers APIs in `beforeAll` or `afterAll` hooks will fail.
1 parent ba9500e commit c9f4081

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.integration_spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -576,10 +576,10 @@ describe('Jasmine to Vitest Transformer - Integration Tests', () => {
576576
`;
577577
const vitestCode = `
578578
describe('My fakeAsync suite', () => {
579-
beforeAll(() => {
579+
beforeEach(() => {
580580
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
581581
});
582-
afterAll(() => {
582+
afterEach(() => {
583583
vi.useRealTimers();
584584
});
585585
it('works', async () => {

packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer_add-imports_spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,13 @@ describe('Jasmine to Vitest Transformer - addImports option', () => {
162162
});
163163
`;
164164
const expected = `
165-
import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
165+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
166166
167167
describe('My fakeAsync suite', () => {
168-
beforeAll(() => {
168+
beforeEach(() => {
169169
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
170170
});
171-
afterAll(() => {
171+
afterEach(() => {
172172
vi.useRealTimers();
173173
});
174174
it('works', async () => {

packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,14 @@ function _transformFakeAsyncCall(
119119

120120
function _createFakeTimersHookStatements(ctx: RefactorContext): ts.Statement[] {
121121
return [
122-
// > beforeAll(() => {
122+
// > beforeEach(() => {
123123
// > vi.useFakeTimers({
124124
// > advanceTimeDelta: 1,
125125
// > shouldAdvanceTime: true
126126
// > });
127127
// > });
128128
ts.factory.createExpressionStatement(
129-
ts.factory.createCallExpression(ts.factory.createIdentifier('beforeAll'), undefined, [
129+
ts.factory.createCallExpression(ts.factory.createIdentifier('beforeEach'), undefined, [
130130
ts.factory.createArrowFunction(
131131
undefined,
132132
undefined,
@@ -156,11 +156,11 @@ function _createFakeTimersHookStatements(ctx: RefactorContext): ts.Statement[] {
156156
]),
157157
),
158158

159-
// > afterAll(() => {
159+
// > afterEach(() => {
160160
// > vi.useRealTimers();
161161
// > });
162162
ts.factory.createExpressionStatement(
163-
ts.factory.createCallExpression(ts.factory.createIdentifier('afterAll'), undefined, [
163+
ts.factory.createCallExpression(ts.factory.createIdentifier('afterEach'), undefined, [
164164
ts.factory.createArrowFunction(
165165
undefined,
166166
undefined,

packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test_spec.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ describe('transformFakeAsyncTest', () => {
2323
`,
2424
expected: `
2525
describe('My fakeAsync suite', () => {
26-
beforeAll(() => {
26+
beforeEach(() => {
2727
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
2828
});
29-
afterAll(() => {
29+
afterEach(() => {
3030
vi.useRealTimers();
3131
});
3232
it('works', async () => {
@@ -49,10 +49,10 @@ describe('transformFakeAsyncTest', () => {
4949
`,
5050
expected: `
5151
describe('My fakeAsync suite', () => {
52-
beforeAll(() => {
52+
beforeEach(() => {
5353
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
5454
});
55-
afterAll(() => {
55+
afterEach(() => {
5656
vi.useRealTimers();
5757
});
5858
it('works', async (strangeArg: Strange = myStrangeDefault) => {
@@ -91,10 +91,10 @@ describe('transformFakeAsyncTest', () => {
9191
});
9292
9393
describe('My outer fakeAsync suite', () => {
94-
beforeAll(() => {
94+
beforeEach(() => {
9595
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
9696
});
97-
afterAll(() => {
97+
afterEach(() => {
9898
vi.useRealTimers();
9999
});
100100
@@ -137,10 +137,10 @@ describe('transformFakeAsyncTest', () => {
137137
});
138138
139139
describe.skip('My outer fakeAsync suite', () => {
140-
beforeAll(() => {
140+
beforeEach(() => {
141141
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
142142
});
143-
afterAll(() => {
143+
afterEach(() => {
144144
vi.useRealTimers();
145145
});
146146
@@ -178,10 +178,10 @@ describe('transformFakeAsyncTest', () => {
178178
`,
179179
expected: `
180180
describe('My fakeAsync suite', () => {
181-
beforeAll(() => {
181+
beforeEach(() => {
182182
vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
183183
});
184-
afterAll(() => {
184+
afterEach(() => {
185185
vi.useRealTimers();
186186
});
187187
beforeAll(async () => {

0 commit comments

Comments
 (0)