Когда вы шпионите за услугой, верните ниже, как внутри подписки, она ищет:
spyOn(loginService, 'postLogin').and.returnValues(of({
result : {
httpStatus : 200
}
}));
Итак, когда она выполняет тест, она будет искать условие (response.result.httpStatus === 200)
значение которого равно true
Аналогично, в другом тесте добавьте httpStatus как 400, чтобы он выполнял другое условие, и следите за методом showInvalidAuthentication
и ожидайте его вызова.
Чтобы проверить часть маршрутизации,
let routerStub = { navigate: jasmine.createSpy('navigate') };
И добавить ее в Prividers:
providers: [{ provide: Router, useValue: routerStub }]
В тесте, когда httpStatus
равно 200
, ожидайте ниже
expect(routerStub.navigate).toHaveBeenCalledWith(['/home']);
С учетом вышеизложенного ваши тесты будут охватывать строки 110 & 113