У меня есть компонент, в который вы перетаскиваете некоторые файлы, и если длина файла files.length больше единицы, вызывается метод.
Итак, для тестирования я создал const event = new DragEvent()
, а затем попытался установить event.dataTransfer.files = new FileList()
, но это свойство доступно только для чтения. Затем я попытался создать новое DragEvent, передав значение файла [и все остальное, что требуется] в конструктор DragEvent, но затем я получил Illegal constructor error
.
Я создал новый класс MyDragEvent, который расширяется от DragEvent, но затем я снова получаю Illegal constructor error
.
Есть идеи, как это проверить?
P.S .: Это нерабочий код:
it('should call upload method when file are dragged', async(() => {
spyOn(component, 'onFilesAdded');
const event = new Test({
dataTransfer: {
types: [],
effectAllowed: '',
items: new DataTransferItemList(),
dropEffect: '',
files: new FileList(),
getData: (function(ostring) {
return ostring;
})(),
clearData: (function(ostring) {
return ostring;
})(),
setData: (function(string1, string2) {
return string1;
})(),
setDragImage: (function(ostring, number1, number2) {
return ostring;
})()
}
});
component.onDrop(event);
expect(component.onFilesAdded).toHaveBeenCalled();
}));