У меня проблемы с тестированием сценария загрузки файла в Cypress в приложении Angular.
Это шаги:
Пользователь выбирает файл, нажимает «Выбрать», и открывается модальное окно с формой.
Пользователь заполняет форму и нажимает ОК.
Файл загружен, а значения формы отправлены на сервер.
Cypress не поддерживает средство выбора файлов. Но мне нужно проверить другие шаги, которые пользователь делает, когда файл был выбран. Как в Cypress я могу вызвать функцию, которая открывает всплывающее окно, если в приложении эта функция вызывается событием изменения ввода файла? Может быть, можно вызвать функцию прямо в тесте (аналогично модульным тестам, т.е. component.setSelectedFiles ()) и вообще обойти средство выбора файлов?
App.component.html
<label class="btn" (click)="$event.stopPropagation()">
Upload
<input type="file" multiple (change)="setSelectedFiles($event.target.files)">
</label>
App.component.ts
setSelectedFiles(fileArray) { // This function is triggered when user selects a file
this.files = fileArray
this.showModal = true // this step opens a modal pop up.
}