Угловое тестирование модуля: дождитесь завершения APP_INITIALIZER, прежде чем запускать тест - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь написать тест для компонента, который использует сервисный метод, который инициализируется с помощью APP_INITIALIZER

component.ts

ngOnInit() {
    /*
    method from a APP_INITIALIZER service
    */
    this.redirectUrls = this.config.getRedirectUrls();

    this.authService.isLoggedIn((isLogged)=>{
      this.showSpinner = false;
      if(isLogged){
        this.router.navigate(['/user/home']);
      }
    })
  }

component.spec.ts

beforeEach(async () => {
    fixture = TestBed.createComponent(LoginComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', async (() => {
    component.ngOnInit();
    fixture.detectChanges();
    fixture.whenStable().then(()=>{
      expect(component).toBeTruthy();
    })

Но я получаю

Невозможно прочитать свойство **** из неопределенного

Эта причиназадняя часть - тест выполняется до завершения APP_INITIALIZER.

...