Я хочу написать модульные тесты в Angular для следующей функции:
exportToCsv(query: string) {
this.exportToCsvService.exportDataAndGetCsv(query).pipe(
first(),
tap(response => this.fireCsvDownload(response))
).subscribe();
}
Функция exportDataAndGetCsv выполняет вызов http и возвращает строку.Я думаю, что тест, который я написал бы, должен проверить, был ли выполнен fireCsvDownload.Я пытался:
it('should fire fireCsvDownload after exporting data and geting csv ', () => {
component.exportToCsv(query);
fixture.detectChanges();
expect(component.fireCsvDownload).toHaveBeenCalled();
});
Но я получаю сообщение об ошибке: Error: <toHaveBeenCalled> : Expected a spy, but got Function.
Что мне делать?Я предоставляю exportToCsv
услугу TestBed
, а exportDataAndGetCsv
возвращает of('text').