Trato de escribir las pruebas de una manera limpia. Recorro las filas (cada una de las cuales muestra información sobre el archivo adjunto) de la tabla en la página y verifico si cada archivo adjunto tiene el tamaño correcto:
it('attaches many documents', () => { const fileSizes = ['17.19 KB', '12.06 KB', '67.75 KB'] cy.get('input[type="file"]').attachFile([excelFilePath, docxFilePath, pdfFilePath]) cy.get('div.table-body>.table-row').each(($el, index) => { expect($el.find('.col-upload-size')).to.contain.text(fileSizes[index]) }) })Pero anteriormente en el código tengo este mapa definido:
const fileSizesMap = new Map([ ["excelFileSize", "17.19 KB"], ["docxFileSize", "12.06 KB"], ["pdfFileSize", "67.75 KB"] ]); ¿Puedo de alguna manera deshacerme de la lista fileSizes dentro de la prueba y usar fileSizesMap en su lugar?
Entiendo que desea reemplazar fileSizes con los valores de su fileSizesMap :
const fileSizes = Array.from(fileSizesMap.values())Podría intentar devolver un iterable para valores y hacer sus afirmaciones:
const fileSizesMap = new Map([ ["excelFileSize", "17.19 KB"], ["docxFileSize", "12.06 KB"], ["pdfFileSize", "67.75 KB"] ]); it('attaches many documents', () => { cy.get('input[type="file"]').attachFile([excelFilePath, docxFilePath, pdfFilePath]) for (const value of fileSizesMap.values()) { cy.get('div.table-body>.table-row').then(() => { expect($el.find('.col-upload-size')).to.contain.text(value) }) } })