Как имитировать перенаправление местоположения в модульном тесте Jasmine, Angular?

#angular #location #karma-jasmine #window.location

Вопрос:

Я хочу протестировать эту функцию :

 onLinkClick() {  if (this.congratsType === 'warning') {  this.location.back();  } else {  window.location.href = this.urlNol;  }  }  

Я уже пробовал с этим:

 let loc: Location;    beforeEach(waitForAsync(() =gt; {  TestBed.configureTestingModule({  declarations: [EndFlowComponent],  providers: [  { provide: location, useValue: window.history },  ],  }).compileComponents();  }));   beforeEach(() =gt; {  loc = jasmine.createSpyObj('Location', ['back']);  });     it(' redirect on Link click', () =gt; {  const congratsTypes = ['success', 'error' , 'info'];  // tslint:disable-next-line: no-increment-decrement  for (let i = 0; i lt; congratsTypes.length; i  ) {  component.congratsType = congratsTypes[i];    component.onLinkClick();  expect(loc.back).toHaveBeenCalledTimes(1);  }  })  

когда я запускаю тест, браузер перемещается на внешнюю страницу. Но я хочу запустить его, фактически не переходя по этому URL-адресу.