test: Right file upload. Done.

This commit is contained in:
chiayin
2024-01-24 17:12:35 +08:00
parent be5a7d0c4a
commit 56408e8b85

View File

@@ -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');
})
});