Skip to content

Commit 32da5a8

Browse files
jnizetclydin
authored andcommitted
fix(@schematics/angular): fix migration of jasmine.clock().mockDate()
The migration previously migrated `jasmine.clock().mockDate()` to `vi.setSystemTime()`, which does not compile because `vi.setSystemTime()` requires an argument. This commit fixes it by migrating `jasmine.clock().mockDate()` to `vi.setSystemTime(new Date())`.
1 parent 98636b2 commit 32da5a8

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ export function transformTimerMocks(
6161
node,
6262
`Transformed \`jasmine.clock().${pae.name.text}\` to \`vi.${newMethodName}\`.`,
6363
);
64-
const newArgs = newMethodName === 'useFakeTimers' ? [] : node.arguments;
64+
let newArgs: readonly ts.Expression[] = node.arguments;
65+
if (newMethodName === 'useFakeTimers') {
66+
newArgs = [];
67+
}
68+
if (newMethodName === 'setSystemTime' && node.arguments.length === 0) {
69+
newArgs = [
70+
ts.factory.createNewExpression(ts.factory.createIdentifier('Date'), undefined, []),
71+
];
72+
}
6573

6674
return createViCallExpression(newMethodName, newArgs);
6775
}

packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc_spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ describe('Jasmine to Vitest Transformer', () => {
3131
input: `jasmine.clock().mockDate(new Date('2025-01-01'));`,
3232
expected: `vi.setSystemTime(new Date('2025-01-01'));`,
3333
},
34+
{
35+
description: 'should transform jasmine.clock().mockDate() to vi.setSystemTime(new Date())',
36+
input: `jasmine.clock().mockDate();`,
37+
expected: `vi.setSystemTime(new Date());`,
38+
},
3439
];
3540

3641
testCases.forEach(({ description, input, expected }) => {

0 commit comments

Comments
 (0)