test: Delete file. Done.

This commit is contained in:
chiayin
2024-01-25 10:48:40 +08:00
parent 56408e8b85
commit 6d6c4cc4ac
2 changed files with 45 additions and 32 deletions

View File

@@ -102,37 +102,50 @@ describe('File Upload etc', () => {
// cy.get('div.swal2-html-container').contains('p', 'There are more errors.'); // cy.get('div.swal2-html-container').contains('p', 'There are more errors.');
// }); // });
it('Right file upload.', () => { // it('Right file upload.', () => {
cy.contains('div', 'Upload').click(); // cy.contains('div', 'Upload').click();
cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/rightFile.csv'); // cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/rightFile.csv');
// 斷言按鈕是否禁用 // // 斷言按鈕是否禁用
cy.contains('.btn', 'Upload').should('be.disabled'); // cy.contains('.btn', 'Upload').should('be.disabled');
// select // // 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('.p-dropdown-item').filter('[aria-label="Timestamp*"]').click();
cy.get('div[data-type="Timestamp"] span').contains('Timestamp*'); // cy.get('div[data-type="Timestamp"] span').contains('Timestamp*');
cy.get('div[data-type="CaseID"]').click(); // cy.get('div[data-type="CaseID"]').click();
cy.get('.p-dropdown-item').filter('[aria-label="Case ID*"]').click(); // cy.get('.p-dropdown-item').filter('[aria-label="Case ID*"]').click();
cy.get('div[data-type="CaseID"] span').contains('Case ID*'); // cy.get('div[data-type="CaseID"] span').contains('Case ID*');
cy.get('div[data-type="Activity"]').click(); // cy.get('div[data-type="Activity"]').click();
cy.get('.p-dropdown-item').filter('[aria-label="Activity*"]').click(); // cy.get('.p-dropdown-item').filter('[aria-label="Activity*"]').click();
cy.get('div[data-type="Activity"] span').contains('Activity*'); // cy.get('div[data-type="Activity"] span').contains('Activity*');
cy.get('div[data-type="Activity_Instance"]').click(); // cy.get('div[data-type="Activity_Instance"]').click();
cy.get('.p-dropdown-item').filter('[aria-label="Activity Instance ID*"]').click(); // cy.get('.p-dropdown-item').filter('[aria-label="Activity Instance ID*"]').click();
cy.get('div[data-type="Activity_Instance"] span').contains('Activity Instance ID*'); // cy.get('div[data-type="Activity_Instance"] span').contains('Activity Instance ID*');
cy.get('div[data-type="Status"]').click(); // cy.get('div[data-type="Status"]').click();
cy.get('.p-dropdown-item').filter('[aria-label="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 // // send
cy.contains('.btn', 'Upload').click(); // cy.contains('.btn', 'Upload').click();
// 'Are you sure?' // // 'Are you sure?'
cy.contains('h2.swal2-title', 'ARE YOU SURE?').siblings('.swal2-actions').find('button.swal2-confirm').click(); // cy.contains('h2.swal2-title', 'ARE YOU SURE?').siblings('.swal2-actions').find('button.swal2-confirm').click();
cy.wait(3000); // cy.wait(3000);
// 回到 file page // // 回到 file page
cy.url().should('include', 'files'); // cy.url().should('include', 'files');
// 只選文本內容而不包括子元素的文字 // // 只選文本內容而不包括子元素的文字
// cy.get('table tbody tr:first-child td:first-child')
// .invoke('text') // 提取其文字
// .should('include', 'rightFile');
// });
it('Delete file.', () => {
// select file
cy.get('table tbody tr:first-child td:first-child') cy.get('table tbody tr:first-child td:first-child')
.invoke('text') // 提取其文字 .contains('rightFile') // rightclick 需要 DOM 元素做目標,前面不能階斷言 should
.should('include', 'rightFile'); .rightclick();
cy.get('.p-contextmenu')
.find('li')
.filter(':contains("Delete")')
.click();
// delete file
cy.contains('h2.swal2-title', 'Confirm Deletion').siblings('.swal2-actions').find('button.swal2-confirm').click();
}) })
}); });

View File

@@ -334,7 +334,7 @@ export async function deleteFileModal(files, type, id, name) {
const filesStore = FilesStore(); const filesStore = FilesStore();
let htmlText = files.length === 0 ? `Do you really want to delete <span class="text-primary">${name}</span>?` : `<div class="text-left mx-4 space-y-1"><p class="mb-2">Do you really want to delete <span class="text-primary">${name}</span>?</p><p>The following dependent file(s) will also be deleted:</p><ul class="list-disc ml-6">${files}</ul></div>`; let htmlText = files.length === 0 ? `Do you really want to delete <span class="text-primary">${name}</span>?` : `<div class="text-left mx-4 space-y-1"><p class="mb-2">Do you really want to delete <span class="text-primary">${name}</span>?</p><p>The following dependent file(s) will also be deleted:</p><ul class="list-disc ml-6">${files}</ul></div>`;
const result = await Swal.fire({ const result = await Swal.fire({
title: 'Confirm Deletion?', title: 'Confirm Deletion',
html: htmlText, html: htmlText,
icon: 'warning', icon: 'warning',
iconColor: '#FF3366', iconColor: '#FF3366',