diff --git a/projects/testing-library/src/lib/testing-library.ts b/projects/testing-library/src/lib/testing-library.ts index 4667727..1e9359c 100644 --- a/projects/testing-library/src/lib/testing-library.ts +++ b/projects/testing-library/src/lib/testing-library.ts @@ -11,6 +11,7 @@ import { SimpleChanges, Type, isStandalone, + provideZonelessChangeDetection, } from '@angular/core'; import { ComponentFixture, DeferBlockBehavior, DeferBlockState, TestBed, tick } from '@angular/core/testing'; import { NavigationExtras, Router } from '@angular/router'; @@ -79,6 +80,7 @@ export async function render( initialRoute = '', deferBlockStates = undefined, deferBlockBehavior = undefined, + zoneless = false, configureTestBed = () => { /* noop*/ }, @@ -107,7 +109,10 @@ export async function render( imports: imports.concat(defaultImports), routes, }), - providers, + providers: addAutoProviders({ + providers: [...providers], + zoneless, + }), schemas: [...schemas], deferBlockBehavior: deferBlockBehavior ?? DeferBlockBehavior.Manual, }); @@ -518,6 +523,14 @@ function addAutoImports( return [...imports, ...components(), ...routing()]; } +function addAutoProviders({ + providers = [], + zoneless, +}: Pick, 'providers'> & Pick) { + const provideZoneless = () => (zoneless ? [provideZonelessChangeDetection()] : []); + return [...providers, ...provideZoneless()]; +} + async function renderDeferBlock( fixture: ComponentFixture, deferBlockState: DeferBlockState,