diff --git a/cypress/e2e/fileUploadEtc.cy.js b/cypress/e2e/fileUploadEtc.cy.js index e527d3b..1fc1b4b 100644 --- a/cypress/e2e/fileUploadEtc.cy.js +++ b/cypress/e2e/fileUploadEtc.cy.js @@ -68,37 +68,71 @@ describe('File Upload etc', () => { // cy.url().should('include', 'files'); // }); - it('Phase two worng file upload.', () => { + // it('Phase two worng file upload.', () => { + // cy.contains('div', 'Upload').click(); + // cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/worngFile.csv'); + // // select + // cy.get('div[data-type="timestamp"]').click(); + // cy.get('.p-dropdown-item').filter('[aria-label="Timestamp*"]').click(); + // cy.get('div[data-type="timestamp"] span').contains('Timestamp*'); + // cy.get('div[data-type="case id"]').click(); + // cy.get('.p-dropdown-item').filter('[aria-label="Case ID*"]').click(); + // cy.get('div[data-type="case id"] span').contains('Case ID*'); + // cy.get('div[data-type="name"]').click(); + // cy.get('.p-dropdown-item').filter('[aria-label="Activity*"]').click(); + // cy.get('div[data-type="name"] span').contains('Activity*'); + // cy.get('div[data-type="instance"]').click(); + // cy.get('.p-dropdown-item').filter('[aria-label="Activity Instance ID*"]').click(); + // cy.get('div[data-type="instance"] span').contains('Activity Instance ID*'); + // cy.get('div[data-type="status"]').click(); + // cy.get('.p-dropdown-item').filter('[aria-label="Status*"]').click(); + // cy.get('div[data-type="status"] span').contains('Status*'); + // // send + // cy.contains('.btn', 'Upload').click(); + // // 'Are you sure?' SweetAlert2 的按鈕設為 display: none,使用 force: true 打開 + // cy.contains('h2.swal2-title', 'ARE YOU SURE?') + // .siblings('.swal2-actions') // 找到同級的 .swal2-actions + // .find('button.swal2-confirm') // 在 .swal2-actions 中找到 button.swal2-confirm + // .click({ force: true }); + // // Error Message + // cy.contains('h2.swal2-title', 'UPLOAD FAILED'); + // cy.get('div.swal2-html-container').find('li').should('have.length', 5) // 確認有 5 個錯誤訊息項目 + // cy.get('div.swal2-html-container li').should('contain', 'unregnizable').and('contain', 'Status'); + // cy.get('div.swal2-html-container li').should('contain', 'missing').and('contain', 'name'); + // cy.get('div.swal2-html-container').contains('p', 'There are more errors.'); + // }); + + it('Right file upload.', () => { cy.contains('div', 'Upload').click(); - cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/worngFile.csv'); + cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/rightFile.csv'); + // 斷言按鈕是否禁用 + cy.contains('.btn', 'Upload').should('be.disabled'); // select - cy.get('div[data-type="timestamp"]').click(); + cy.get('div[data-type="Timestamp"]').click(); cy.get('.p-dropdown-item').filter('[aria-label="Timestamp*"]').click(); - cy.get('div[data-type="timestamp"] span').contains('Timestamp*'); - cy.get('div[data-type="case id"]').click(); + cy.get('div[data-type="Timestamp"] span').contains('Timestamp*'); + cy.get('div[data-type="CaseID"]').click(); cy.get('.p-dropdown-item').filter('[aria-label="Case ID*"]').click(); - cy.get('div[data-type="case id"] span').contains('Case ID*'); - cy.get('div[data-type="name"]').click(); + cy.get('div[data-type="CaseID"] span').contains('Case ID*'); + cy.get('div[data-type="Activity"]').click(); cy.get('.p-dropdown-item').filter('[aria-label="Activity*"]').click(); - cy.get('div[data-type="name"] span').contains('Activity*'); - cy.get('div[data-type="instance"]').click(); + cy.get('div[data-type="Activity"] span').contains('Activity*'); + cy.get('div[data-type="Activity_Instance"]').click(); cy.get('.p-dropdown-item').filter('[aria-label="Activity Instance ID*"]').click(); - cy.get('div[data-type="instance"] span').contains('Activity Instance ID*'); - cy.get('div[data-type="status"]').click(); + cy.get('div[data-type="Activity_Instance"] span').contains('Activity Instance ID*'); + cy.get('div[data-type="Status"]').click(); cy.get('.p-dropdown-item').filter('[aria-label="Status*"]').click(); - cy.get('div[data-type="status"] span').contains('Status*'); + cy.get('div[data-type="Status"] span').contains('Status*'); // send cy.contains('.btn', 'Upload').click(); - // 'Are you sure?' SweetAlert2 的按鈕設為 display: none,使用 force: true 打開 - cy.contains('h2.swal2-title', 'ARE YOU SURE?') - .siblings('.swal2-actions') // 找到同級的 .swal2-actions - .find('button.swal2-confirm') // 在 .swal2-actions 中找到 button.swal2-confirm - .click({ force: true }); - // Error Message - cy.contains('h2.swal2-title', 'UPLOAD FAILED'); - cy.get('div.swal2-html-container').find('li').should('have.length', 5) // 確認有 5 個錯誤訊息項目 - cy.get('div.swal2-html-container li').should('contain', 'unregnizable').and('contain', 'Status'); - cy.get('div.swal2-html-container li').should('contain', 'missing').and('contain', 'name'); - cy.get('div.swal2-html-container').contains('p', 'There are more errors.'); + // 'Are you sure?' + cy.contains('h2.swal2-title', 'ARE YOU SURE?').siblings('.swal2-actions').find('button.swal2-confirm').click(); + cy.wait(3000); + // 回到 file page + cy.url().should('include', 'files'); + // 只選文本內容而不包括子元素的文字 + cy.get('table tbody tr:first-child td:first-child') + .invoke('text') // 提取其文字 + .should('include', 'rightFile'); }) });