From 56a1e8f9f52658488afb9d36007e96c96d08a03b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Sep 2022 16:30:12 +0000 Subject: [PATCH] feat(@schematics/angular): remove test.ts file from new projects The test.ts is now included in `@angular-devkit/build-angular` and unless this needs to be customized is no longer needed to be provided. Default config: ```js // This file is required by karma.conf.js and loads recursively all the .spec and framework files import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); ``` --- .../build_angular/src/builders/karma/tests/setup.ts | 2 +- .../build_angular/test/hello-world-app/angular.json | 3 ++- .../angular/application/files/src/test.ts.template | 12 ------------ .../application/files/tsconfig.spec.json.template | 3 --- packages/schematics/angular/application/index.ts | 3 +-- .../schematics/angular/application/index_spec.ts | 11 ++--------- .../angular/library/files/src/test.ts.template | 12 ------------ .../angular/library/files/tsconfig.lib.json.template | 1 - .../library/files/tsconfig.spec.json.template | 3 --- packages/schematics/angular/library/index.ts | 1 - packages/schematics/angular/library/index_spec.ts | 1 - 11 files changed, 6 insertions(+), 46 deletions(-) delete mode 100644 packages/schematics/angular/application/files/src/test.ts.template delete mode 100644 packages/schematics/angular/library/files/src/test.ts.template diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts index 3197a12e8aba..49d0633f7a21 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts @@ -20,7 +20,7 @@ export const KARMA_BUILDER_INFO = Object.freeze({ * Also disables progress reporting to minimize logging output. */ export const BASE_OPTIONS = Object.freeze({ - polyfills: 'src/polyfills.ts', + polyfills: ['zone.js', 'zone.js/testing', '@angular/localize/init'], tsConfig: 'src/tsconfig.spec.json', karmaConfig: 'karma.conf.js', browsers: 'ChromeHeadlessCI', diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json index adae68d5f1d0..87edec62bceb 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json @@ -117,7 +117,8 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": "src/polyfills.ts", + "polyfills": ["zone.js", "zone.js/testing", "@angular/localize/init"], + "tsConfig": "src/tsconfig.spec.json", "karmaConfig": "karma.conf.js", "browsers": "ChromeHeadlessCI", diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template deleted file mode 100644 index 0e689016906e..000000000000 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { - errorOnUnknownElements: true, - errorOnUnknownProperties: true -}); diff --git a/packages/schematics/angular/application/files/tsconfig.spec.json.template b/packages/schematics/angular/application/files/tsconfig.spec.json.template index c9c241170103..7d40e67dd989 100644 --- a/packages/schematics/angular/application/files/tsconfig.spec.json.template +++ b/packages/schematics/angular/application/files/tsconfig.spec.json.template @@ -7,9 +7,6 @@ "jasmine" ] }, - "files": [ - "src/test.ts" - ], "include": [ "src/**/*.spec.ts", "src/**/*.d.ts" diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index e804269d4545..48ed9bb63239 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -210,7 +210,6 @@ function addAppToWorkspaceFile( : { builder: Builders.Karma, options: { - main: `${sourceRoot}/test.ts`, polyfills: ['zone.js', 'zone.js/testing'], tsConfig: `${projectRoot}tsconfig.spec.json`, karmaConfig: `${projectRoot}karma.conf.js`, @@ -231,7 +230,7 @@ function addAppToWorkspaceFile( }); } function minimalPathFilter(path: string): boolean { - const toRemoveList = /(test.ts|tsconfig.spec.json|karma.conf.js).template$/; + const toRemoveList = /(tsconfig.spec.json|karma.conf.js).template$/; return !toRemoveList.test(path); } diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 7055f485e7ca..cbc5764331cd 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -61,7 +61,6 @@ describe('Application Schematic', () => { '/projects/foo/src/index.html', '/projects/foo/src/main.ts', '/projects/foo/src/styles.css', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.module.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.html', @@ -164,8 +163,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', defaultOptions, workspaceTree) .toPromise(); - const { files, extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); - expect(files).toEqual(['src/test.ts']); + const { extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); expect(_extends).toBe('../../tsconfig.json'); }); @@ -255,7 +253,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', @@ -285,7 +282,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -315,7 +311,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -410,7 +405,6 @@ describe('Application Schematic', () => { '/src/index.html', '/src/main.ts', '/src/styles.css', - '/src/test.ts', '/src/app/app.module.ts', '/src/app/app.component.css', '/src/app/app.component.html', @@ -436,7 +430,6 @@ describe('Application Schematic', () => { expect(buildOpt.tsConfig).toEqual('tsconfig.app.json'); const testOpt = prj.architect.test.options; - expect(testOpt.main).toEqual('src/test.ts'); expect(testOpt.tsConfig).toEqual('tsconfig.spec.json'); expect(testOpt.karmaConfig).toEqual('karma.conf.js'); expect(testOpt.styles).toEqual(['src/styles.css']); @@ -510,13 +503,13 @@ describe('Application Schematic', () => { expect(appTsConfig.extends).toEqual('./tsconfig.json'); const specTsConfig = readJsonFile(tree, '/tsconfig.spec.json'); expect(specTsConfig.extends).toEqual('./tsconfig.json'); - expect(specTsConfig.files).toEqual(['src/test.ts']); }); it(`should create correct paths when 'newProjectRoot' is blank`, async () => { const workspaceTree = await schematicRunner .runSchematicAsync('workspace', { ...workspaceOptions, newProjectRoot: '' }) .toPromise(); + const options = { ...defaultOptions, projectRoot: undefined }; const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template deleted file mode 100644 index 0e689016906e..000000000000 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { - errorOnUnknownElements: true, - errorOnUnknownProperties: true -}); diff --git a/packages/schematics/angular/library/files/tsconfig.lib.json.template b/packages/schematics/angular/library/files/tsconfig.lib.json.template index 353a24b4ac75..d8d4b0b23347 100644 --- a/packages/schematics/angular/library/files/tsconfig.lib.json.template +++ b/packages/schematics/angular/library/files/tsconfig.lib.json.template @@ -9,7 +9,6 @@ "types": [] }, "exclude": [ - "src/test.ts", "**/*.spec.ts" ] } diff --git a/packages/schematics/angular/library/files/tsconfig.spec.json.template b/packages/schematics/angular/library/files/tsconfig.spec.json.template index 2108b9b916f1..2490345bafff 100644 --- a/packages/schematics/angular/library/files/tsconfig.spec.json.template +++ b/packages/schematics/angular/library/files/tsconfig.spec.json.template @@ -7,9 +7,6 @@ "jasmine" ] }, - "files": [ - "src/test.ts" - ], "include": [ "**/*.spec.ts", "**/*.d.ts" diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 69524593bcc2..70e77f788836 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -108,7 +108,6 @@ function addLibToWorkspaceFile( test: { builder: Builders.Karma, options: { - main: `${projectRoot}/src/test.ts`, tsConfig: `${projectRoot}/tsconfig.spec.json`, polyfills: ['zone.js', 'zone.js/testing'], karmaConfig: `${projectRoot}/karma.conf.js`, diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 3b775211a904..e2ec7a47b2a5 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -57,7 +57,6 @@ describe('Library Schematic', () => { '/projects/foo/README.md', '/projects/foo/tsconfig.lib.json', '/projects/foo/tsconfig.lib.prod.json', - '/projects/foo/src/test.ts', '/projects/foo/src/my-index.ts', '/projects/foo/src/lib/foo.module.ts', '/projects/foo/src/lib/foo.component.spec.ts',