Я хочу проверить угловые тесты, если '
const Dialog
'Модальное окно ist appier. Я должен симулировать получение данных из базы данных. Я пытаюсь создать новый Subject () и вызывать его, но каждый раз, когда я получаю пустой объект, что я делаю неправильно.
У меня есть этот код .ts:
onOpenEvent(event: CalendarEvent) {
if (event.title !== CalendarTypeConverterUtils.PRIVATE && Terminart.getArt(event.meta) === Terminart.ZTV) {
this.openTerminDetailModal(event.meta);
}
if (Terminart.getArt(event.meta) === Terminart.BANKSPRECHZEIT) {
const anfangDatum = new Date(event.meta.anfang);
this.newTermin(anfangDatum);
}
}
private openTerminDetailModal(termin: Termin) {
const terminDetailDialog = this.modalService.open(TerminAnzeigeComponent, { centered: true });
terminDetailDialog.componentInstance.termin = termin;
}
openNeuTerminModel(termin: Termin) {
const terminErstellDialog = this.modalService.open(TerminFormularComponent, { size: 'lg', centered: true });
if (termin.anfang && termin.ende) {
terminErstellDialog.componentInstance.updateForm(termin);
}
terminErstellDialog.result.then((result) => {
this.updateCalendarEvents();
if (this.paramService.hatBereitsTerminErstellt) {
const Dialog =this.modalService.open(TerminBestaetigungComponent, { size: 'lg', centered: true });
terminBestaetDialog.componentInstance.result = result;
}
});
}
И мой юнит-тест:
it('should show popup if termin is create', () => {
const myTrigger = new Subject();
const modal = {
componentInstance: {
termin: {} as Termin,
updateForm(newTermin: Termin) {
this.termin = newTermin;
}
},
result: myTrigger.toPromise()
};
myTrigger.next({
id: 'test1',
betreff: 'betreff von test1',
herkunft: 'definitely not ztv',
anfang: new Date(2017, 0, 1, 10, 42).getTime()
});
const testCalendarEvent: CalendarEvent<Termin> = {
start: new Date(Number(myTrigger.asObservable.arguments.anfang)),
title: 'definitely not private',
meta: myTrigger.asObservable.arguments
};
component.onOpenEvent(testCalendarEvent);
(component as any).paramService.hatBereitsTerminErstellt = true;
const TerminBestaetigungComponent= spyOn((component as any).modalService, 'open').and.returnValue(modal);
expect(TerminBestaetigungComponent.calls.count()).toBe(1);
});
И я получаю странное сообщение: TypeError: свойства caller, callee и arguments не могут быть доступны для функций строгого режима или объектов аргументов для их вызова