From e570b5257b43582cceb97bf3d2dc5e93f305ad2c Mon Sep 17 00:00:00 2001 From: MeAkib Date: Sun, 18 Oct 2026 18:57:22 +0600 Subject: [PATCH] fix(@schematics/angular): suggest valid refactor command after Karma to Vitest migration After migrating projects, the `migrate-karma-to-vitest` migration suggested running `ng g @schematics/angular:refactor-jasmine-vitest `. The schematic does not accept a positional project argument, so the suggested command failed with `Unknown argument`. Suggest the `--project ` option instead. --- .../migrate-karma-to-vitest/migration.ts | 2 +- .../migrate-karma-to-vitest/migration_spec.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts index fc5b11fb5eb0..e4c457a81f3d 100644 --- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts +++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts @@ -203,7 +203,7 @@ function logSummary( if (migratedProjects.length > 0) { context.logger.info( `\nNote: To refactor your test files from Jasmine to Vitest, consider running the following command:` + - `\n ng g @schematics/angular:refactor-jasmine-vitest `, + `\n ng g @schematics/angular:refactor-jasmine-vitest --project `, ); } context.logger.info('-----------------------------------------\n'); diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts index fb6737b77d26..bc81a9ac8fc5 100644 --- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts +++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts @@ -68,6 +68,23 @@ describe('Migration from Karma to Vitest unit-test builder', () => { expect(projects.app.targets.test.options.karmaConfig).toBeUndefined(); }); + it('should suggest a valid command to refactor Jasmine tests', async () => { + const logs: string[] = []; + const loggerSubscription = schematicRunner.logger.subscribe(({ message }) => + logs.push(message), + ); + + try { + await schematicRunner.runSchematic('migrate-karma-to-vitest', {}, tree); + } finally { + loggerSubscription.unsubscribe(); + } + + expect(logs.join('\n')).toContain( + 'ng g @schematics/angular:refactor-jasmine-vitest --project ', + ); + }); + it('should map codeCoverage to coverage', async () => { const { projects } = tree.readJson('/angular.json') as any; projects.app.targets.test.options.codeCoverage = true;