Closed
Description
The providers
in the Angular framework always flatten all elements in the case of nested arrays of elements. In other words, Provider
can be an array of providers.
https://angular.dev/api/core/Provider
type Provider = | TypeProvider
| ValueProvider
| ClassProvider
| ConstructorProvider
| ExistingProvider
| FactoryProvider
| any[] // <--- an array of providers.
However, due to recent changes, ATL no longer accepts nested arrays in componentProviders
property. Previously, array.concat(provider)
had that role, but in the current implementation the step to flatten componentProviders
is lost. This is a regresssion.
061d5cc#diff-8e35d38d4ce658063a1f7522f82a938a8b99a52223927129ad8ddd28df541506L124
- componentProviders
- .reduce((acc, provider) => acc.concat(provider), [] as any[])
- .forEach((p: any) => {
- const { provide, ...provider } = p;
- TestBed.overrideProvider(provide, provider);
- });
+ for (const { provide, ...provider } of componentProviders) {
+ TestBed.overrideProvider(provide, provider);
+ }
Metadata
Metadata
Assignees
Labels
No labels