#angular #typescript #file-upload #jasmine #xlsx
Вопрос:
Я пытаюсь написать модульное тестирование для метода загрузки файлов (еще не интегрированного с API) в angular. Может ли кто-нибудь помочь мне добавить макетные файлы и получить полное покрытие кода без ошибок, пожалуйста?
onFileUpload(event) {
this.successMsg = '';
this.errorMsg = '';
this.sheetJsExcelName = event.target.files.item(0).name;
const target : DataTransfer = <DataTransfer>(event.target);
const reader : FileReader = new FileReader();
reader.onload = (e : any) => {
const bstr : string = e.target.resu<
const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary'});
const wsname: string = wb.SheetNames[1];
const ws: XLSX.WorkSheet = wb.Sheets[wsname];
this.data = (XLSX.utils.sheet_to_json(ws, { header: 1 }));
if(this.data.length > 20) {
this.errorMsg = "Record limit is exceeding";
} else {
setTimeout(() => {
this.successMsg = this.sheetJsExcelName " is uploaded succesfully";
}, 5000);
}
}
reader.readAsBinaryString(target.files[0]);
}
// in spec file
it('should detect file input change', () => {
component.onFileUpload('Upload.xlsx');
fixture.detectChanges();
expect(data.length).toBeLessThanOrEqual(20);
expect(component.sheetJsExcelName).toBeTruthy()
expect(component.sheetJsExcelName).toBe('Upload.xlsx')
})
<input type="file" (change)="onFileUpload($event)" accept=".xlsx" multiple="false" style="display: none;">Bulk Upload
Комментарии:
1. @Ayala, если вы знаете решение, пожалуйста, помогите мне
2. #юрзуй, пожалуйста, помоги мне