UNPKG

@ngneat/spectator

Version:

A powerful tool to simplify your Angular tests

23 lines 5.75 kB
import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { getGlobalsInjections } from '../globals-injections'; /** * @internal */ export function initialModule(options) { const globals = { imports: [], declarations: [], providers: [], ...getGlobalsInjections() }; return { declarations: [...globals.declarations, ...options.declarations, ...options.entryComponents], imports: [...(options.disableAnimations ? [NoopAnimationsModule] : []), ...globals.imports, ...options.imports], providers: [...globals.providers, ...options.providers, ...options.mocks.map((type) => options.mockProvider(type))], entryComponents: [...options.entryComponents], teardown: // Caretaker note: we don't want to merge the `globals.teardown` and `options.teardown`, since `options.teardown` // is always defined. If the user calls `defineGlobalsInjections({ teardown: { ... } })` and we merge it with // `options.teardown`, then `options.teardown` will always override global options. { ...(globals.teardown || options.teardown) }, deferBlockBehavior: globals.deferBlockBehavior || options.deferBlockBehavior, errorOnUnknownElements: globals.errorOnUnknownElements || options.errorOnUnknownElements, errorOnUnknownProperties: globals.errorOnUnknownProperties || options.errorOnUnknownProperties, }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjdGF0b3Ivc3JjL2xpYi9iYXNlL2luaXRpYWwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBbUI3RDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBdUM7SUFDbkUsTUFBTSxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxHQUFHLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztJQUU1RixPQUFPO1FBQ0wsWUFBWSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDNUYsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9HLFNBQVMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ILGVBQWUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUM3QyxRQUFRO1FBQ04saUhBQWlIO1FBQ2pILDZHQUE2RztRQUM3RyxtRkFBbUY7UUFDbkYsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDL0Msa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0I7UUFDNUUsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxzQkFBc0I7UUFDeEYsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyx3QkFBd0I7S0FDL0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY2hlbWFNZXRhZGF0YSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVmZXJCbG9ja0JlaGF2aW9yLCBNb2R1bGVUZWFyZG93bk9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQgeyBnZXRHbG9iYWxzSW5qZWN0aW9ucyB9IGZyb20gJy4uL2dsb2JhbHMtaW5qZWN0aW9ucyc7XG5cbmltcG9ydCB7IEJhc2VTcGVjdGF0b3JPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTWV0YWRhdGEge1xuICBkZWNsYXJhdGlvbnM6IGFueVtdO1xuICBpbXBvcnRzOiBhbnlbXTtcbiAgcHJvdmlkZXJzOiBhbnlbXTtcbiAgZW50cnlDb21wb25lbnRzOiBUeXBlPGFueT5bXTtcbiAgc2NoZW1hcz86IChTY2hlbWFNZXRhZGF0YSB8IGFueVtdKVtdO1xuICB0ZWFyZG93bj86IE1vZHVsZVRlYXJkb3duT3B0aW9ucztcbiAgZGVmZXJCbG9ja0JlaGF2aW9yOiBEZWZlckJsb2NrQmVoYXZpb3I7XG4gIGVycm9yT25Vbmtub3duRWxlbWVudHM6IGJvb2xlYW47XG4gIGVycm9yT25Vbmtub3duUHJvcGVydGllczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxNb2R1bGUob3B0aW9uczogUmVxdWlyZWQ8QmFzZVNwZWN0YXRvck9wdGlvbnM+KTogTW9kdWxlTWV0YWRhdGEge1xuICBjb25zdCBnbG9iYWxzID0geyBpbXBvcnRzOiBbXSwgZGVjbGFyYXRpb25zOiBbXSwgcHJvdmlkZXJzOiBbXSwgLi4uZ2V0R2xvYmFsc0luamVjdGlvbnMoKSB9O1xuXG4gIHJldHVybiB7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZ2xvYmFscy5kZWNsYXJhdGlvbnMsIC4uLm9wdGlvbnMuZGVjbGFyYXRpb25zLCAuLi5vcHRpb25zLmVudHJ5Q29tcG9uZW50c10sXG4gICAgaW1wb3J0czogWy4uLihvcHRpb25zLmRpc2FibGVBbmltYXRpb25zID8gW05vb3BBbmltYXRpb25zTW9kdWxlXSA6IFtdKSwgLi4uZ2xvYmFscy5pbXBvcnRzLCAuLi5vcHRpb25zLmltcG9ydHNdLFxuICAgIHByb3ZpZGVyczogWy4uLmdsb2JhbHMucHJvdmlkZXJzLCAuLi5vcHRpb25zLnByb3ZpZGVycywgLi4ub3B0aW9ucy5tb2Nrcy5tYXAoKHR5cGUpID0+IG9wdGlvbnMubW9ja1Byb3ZpZGVyKHR5cGUpKV0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbLi4ub3B0aW9ucy5lbnRyeUNvbXBvbmVudHNdLFxuICAgIHRlYXJkb3duOlxuICAgICAgLy8gQ2FyZXRha2VyIG5vdGU6IHdlIGRvbid0IHdhbnQgdG8gbWVyZ2UgdGhlIGBnbG9iYWxzLnRlYXJkb3duYCBhbmQgYG9wdGlvbnMudGVhcmRvd25gLCBzaW5jZSBgb3B0aW9ucy50ZWFyZG93bmBcbiAgICAgIC8vIGlzIGFsd2F5cyBkZWZpbmVkLiBJZiB0aGUgdXNlciBjYWxscyBgZGVmaW5lR2xvYmFsc0luamVjdGlvbnMoeyB0ZWFyZG93bjogeyAuLi4gfSB9KWAgYW5kIHdlIG1lcmdlIGl0IHdpdGhcbiAgICAgIC8vIGBvcHRpb25zLnRlYXJkb3duYCwgdGhlbiBgb3B0aW9ucy50ZWFyZG93bmAgd2lsbCBhbHdheXMgb3ZlcnJpZGUgZ2xvYmFsIG9wdGlvbnMuXG4gICAgICB7IC4uLihnbG9iYWxzLnRlYXJkb3duIHx8IG9wdGlvbnMudGVhcmRvd24pIH0sXG4gICAgZGVmZXJCbG9ja0JlaGF2aW9yOiBnbG9iYWxzLmRlZmVyQmxvY2tCZWhhdmlvciB8fCBvcHRpb25zLmRlZmVyQmxvY2tCZWhhdmlvcixcbiAgICBlcnJvck9uVW5rbm93bkVsZW1lbnRzOiBnbG9iYWxzLmVycm9yT25Vbmtub3duRWxlbWVudHMgfHwgb3B0aW9ucy5lcnJvck9uVW5rbm93bkVsZW1lbnRzLFxuICAgIGVycm9yT25Vbmtub3duUHJvcGVydGllczogZ2xvYmFscy5lcnJvck9uVW5rbm93blByb3BlcnRpZXMgfHwgb3B0aW9ucy5lcnJvck9uVW5rbm93blByb3BlcnRpZXMsXG4gIH07XG59XG4iXX0=