diff --git a/packages/cli/lib/templates/AngularTemplate.ts b/packages/cli/lib/templates/AngularTemplate.ts index 0164c6073..3f22aa3d9 100644 --- a/packages/cli/lib/templates/AngularTemplate.ts +++ b/packages/cli/lib/templates/AngularTemplate.ts @@ -30,7 +30,9 @@ export class AngularTemplate implements Template { constructor(private rootPath: string) { } public get templatePaths(): string[] { - return [path.join(this.rootPath, "files")]; + // Include common Angular files (like test.ts) before template-specific files + const commonPath = path.join(__dirname, "../../templates/angular/common-files"); + return [commonPath, path.join(this.rootPath, "files")]; } public generateConfig(name: string, options: {}): { [key: string]: any } { diff --git a/packages/cli/templates/angular/common-files/src/test.ts b/packages/cli/templates/angular/common-files/src/test.ts new file mode 100644 index 000000000..315b8803d --- /dev/null +++ b/packages/cli/templates/angular/common-files/src/test.ts @@ -0,0 +1,23 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} +); diff --git a/packages/igx-templates/IgniteUIForAngularTemplate.ts b/packages/igx-templates/IgniteUIForAngularTemplate.ts index 9f2a81745..cc0fd7925 100644 --- a/packages/igx-templates/IgniteUIForAngularTemplate.ts +++ b/packages/igx-templates/IgniteUIForAngularTemplate.ts @@ -33,7 +33,9 @@ export class IgniteUIForAngularTemplate implements Template { }; public get templatePaths(): string[] { - return [path.join(this.rootPath, "files")]; + // Include common Angular files (like test.ts) before template-specific files + const commonPath = path.join(__dirname, "common-files"); + return [commonPath, path.join(this.rootPath, "files")]; } constructor(private rootPath: string) { diff --git a/packages/igx-templates/common-files/src/test.ts b/packages/igx-templates/common-files/src/test.ts new file mode 100644 index 000000000..315b8803d --- /dev/null +++ b/packages/igx-templates/common-files/src/test.ts @@ -0,0 +1,23 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} +); diff --git a/packages/igx-templates/igx-ts-legacy/projects/_base/index.ts b/packages/igx-templates/igx-ts-legacy/projects/_base/index.ts index df061fc8a..f11d22382 100644 --- a/packages/igx-templates/igx-ts-legacy/projects/_base/index.ts +++ b/packages/igx-templates/igx-ts-legacy/projects/_base/index.ts @@ -40,7 +40,9 @@ $app-palette: palette($primary, $secondary, $surface); "node_modules/igniteui-angular/styles/igniteui-angular.css"`; public get templatePaths(): string[] { - return [path.join(__dirname, "files")]; + // Include common Angular files (like test.ts) before template-specific files + const commonPath = path.join(__dirname, "../../../common-files"); + return [commonPath, path.join(__dirname, "files")]; } public installModules(): void { diff --git a/packages/igx-templates/igx-ts-legacy/projects/empty/files/src/test.ts b/packages/igx-templates/igx-ts-legacy/projects/empty/files/src/test.ts new file mode 100644 index 000000000..315b8803d --- /dev/null +++ b/packages/igx-templates/igx-ts-legacy/projects/empty/files/src/test.ts @@ -0,0 +1,23 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} +); diff --git a/packages/igx-templates/igx-ts/projects/_base/index.ts b/packages/igx-templates/igx-ts/projects/_base/index.ts index 1b376db92..5a2b92b65 100644 --- a/packages/igx-templates/igx-ts/projects/_base/index.ts +++ b/packages/igx-templates/igx-ts/projects/_base/index.ts @@ -40,7 +40,9 @@ $app-palette: palette($primary, $secondary, $surface); "node_modules/igniteui-angular/styles/igniteui-angular.css"`; public get templatePaths(): string[] { - return [path.join(__dirname, "files")]; + // Include common Angular files (like test.ts) before template-specific files + const commonPath = path.join(__dirname, "../../../common-files"); + return [commonPath, path.join(__dirname, "files")]; } public installModules(): void { diff --git a/packages/igx-templates/igx-ts/projects/empty/files/src/test.ts b/packages/igx-templates/igx-ts/projects/empty/files/src/test.ts new file mode 100644 index 000000000..315b8803d --- /dev/null +++ b/packages/igx-templates/igx-ts/projects/empty/files/src/test.ts @@ -0,0 +1,23 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + keys(): string[]; + (id: string): T; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} +);