onChange(event: any) {
if (event.type === 'drop') {
this.file = event.dataTransfer.files;
} else {
this.file = event.target.files;
}
for (let i = 0; i < this.file.length; i++) {
if (this.formatsAllowed.includes('.' + this.file[i].name.split('.')[1])) {
this.selectedFiles.push(this.file[i]);
}
}
event.target.value = null;
}
Характеристики:
it('should handle change event for includes property', () => {
component.formatsAllowed = 'pdf';
component.file;
spyOn(component,'onChange').and.callThrough();
component.onChange({
type: 'default',
target: {
files : [],
value: 'someVal'
}
});
component.file.name='some.val';
const x = formatsAllowed.includes('pdf');
expect(x).toBeTruthy();
expect(component.selectedFiles).toBeDefined();
});
Я могу протестировать все сценарии, кроме условия внутри цикла.
Я получаю сообщение об ошибке:
TypeError: Невозможно установить свойство 'name' из неопределенного
Если я удаляю и пропускаю '', тестовые значения проходят, но не рассматриваются в отчете о покрытии в Стамбуле.
Может кто-нибудь понятьузнать, как проверить условные операторы в этом сценарии?