UNPKG

jest-preset-angular

Version:

Jest preset configuration for Angular projects

45 lines (39 loc) 1.33 kB
import { ErrorHandler, NgModule, COMPILER_OPTIONS, provideZonelessChangeDetection } from '@angular/core'; import { getTestBed } from '@angular/core/testing'; import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing'; import { polyfillEncoder, resolveTestEnvOptions } from '../utils'; const provideZonelessConfig = () => { class TestModule {} NgModule({ providers: [ provideZonelessChangeDetection(), { provide: ErrorHandler, useValue: { handleError: (e) => { throw e; }, }, }, ], })(TestModule); return TestModule; }; const setupZonelessTestEnv = (options) => { polyfillEncoder(); const resolvedOptions = resolveTestEnvOptions(options) ?? {}; const { extraProviders = [], ...testEnvironmentOptions } = resolvedOptions; getTestBed().initTestEnvironment( [BrowserTestingModule, provideZonelessConfig()], platformBrowserTesting([ { provide: COMPILER_OPTIONS, useValue: {}, multi: true, }, ...extraProviders, ]), testEnvironmentOptions, ); }; export { setupZonelessTestEnv };