Angular APP_INITIALIZER to load config file in tests
angular
Solution
looks like there is an issue with how Angular treats the APP_INITIALIZER while running tests (see https://github.com/angular/angular/issues/24218).
The workaround for now is to call this before in each: test
beforeEach(async () => {
// until https://github.com/angular/angular/issues/24218 is fixed
await TestBed.inject(ApplicationInitStatus).donePromise;
});
for angular <9, use TestBed.get(...) instead.
Problem
I'm using this gist to read configuration file during application startup. This works fine but when doing unit tests I get error `Cannot read property 'SomeProperty' of null`. I have added the provider to test as well ``` beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ LoginComponent ], imports: [ReactiveFormsModule, RouterTestingModule, HttpModule], providers: [AuthService, SettingsService, AppConfig, { provide: APP_INITIALIZER, useFactory: initConfig, deps: [AppConfig], multi: true }, ] }) .compileComponents(); })); ``` Any pointers to resolve this?. Thanks in advance.