Angular5 canActivate () модульный тест асинхронной функции - PullRequest
1 голос
/ 27 сентября 2019

Может ли кто-нибудь помочь мне с этим .. Новичок в модульном тестировании. Спасибо. Возникли проблемы с данными Assync.

export class ClassGuard implements CanActivate {         
      isLoaded: boolean = false;  
      constructor(private router: Router, private store: Store<fromRoot.State>) {}

      waitForUserToLoad(): Observable<boolean> {    
        return this.store.pipe(select(fromUser.sGetUserIsLoaded));   
      }

      canActivate(): Observable<boolean> {    
        return this.waitForUserToLoad().map(loaded => {   
          if (loaded) {   
            return true;   
          } else {   
            this.router.navigate(['']);   
          }   
        });   
      }   
    }  

Не могу объяснить, как много нового для этого .. Я изучил и рассмотрелмногие шутливые юнит-тесты, но не смогли найти подходящего варианта, чтобы полностью понять это.

...