Unit testing angular router events

Viewed 414

I have a module that shows a loading screen on navigation. How do I test that the isLoading variable updates on NavigationStart, NavigationEnd, etc.?

component.html
<app-loader *ngIf="isLoading"></app-loader>

component.ts
    this.router.events
      .subscribe((event) => {
        if (event instanceof NavigationStart) {
          this.isLoading = true;
          // alert('NavigationStart:' + event);
        } else if (
          event instanceof NavigationEnd || event instanceof NavigationCancel
        ) {
          this.isLoading = false;
          // alert('NavigationEnd:' + event);
        } else if (event instanceof NavigationError) {
          this.isLoading = false;
          // console.log('NavigationError: ', event);
        }
      });
0 Answers
Related