test: Phase two worng file upload. Done.

This commit is contained in:
chiayin
2024-01-24 16:26:59 +08:00
parent 04dec3bbd3
commit be5a7d0c4a
2 changed files with 34 additions and 23 deletions

View File

@@ -68,26 +68,37 @@ describe('File Upload etc', () => {
// cy.url().should('include', 'files');
// });
// 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();
// })
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.');
})
});

View File

@@ -235,7 +235,7 @@ export async function uploadFailedSecond(detail) {
await Swal.fire({
title: 'UPLOAD FAILED',
html: `<div class="text-left mx-3 space-y-1"><p>Error(s) detected:</p><ul class="list-disc ml-6">${srt}</ul><p>${manySrt} Please check.</p></div>`,
timer: 5000, // 停留5秒後自動關閉
// timer: 5000, // 停留5秒後自動關閉
showConfirmButton: false,
icon: 'error',
iconColor: '#FF3366',