Files
lucia-frontend/cypress/fixtures/doneTesting/fileUploadEtc.cy.js

171 lines
8.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Testing File Page: upload, download, delete, rename
// upload: 第一階段上傳錯誤、第二階段上傳錯誤、改名、改名前後空格、回上一頁、清空
// delete: 第一階段刪除錯誤訊息
// rename: 五種改名介面是否有出現
describe('File Upload etc', () => {
beforeEach(() => {
cy.visit('https://REDACTED-HOST/');
cy.login();
cy.visit('https://REDACTED-HOST/files');
});
// it('Phase one worng file upload.', () => {
// cy.contains('div', 'Upload').click();
// // 不是 UTF-8
// cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/big5.csv');
// cy.contains('.swal2-html-container', 'UFT-8');
// cy.wait(1000);
// cy.closePopup();
// // 沒有資料
// cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/empty.csv');
// cy.contains('.swal2-html-container', 'Need at least one record of data.');
// cy.wait(1000);
// cy.closePopup();
// // 欄位不滿 5 欄
// cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/insufficient-columns.csv');
// cy.contains('.swal2-html-container', 'Need at least five columns of data.');
// cy.wait(1000);
// cy.closePopup();
// // 不是 csv
// cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/favicon.ico');
// cy.contains('.swal2-html-container', 'CSV');
// cy.wait(1000);
// cy.closePopup();
// });
// it('Upload Page, rename, reset, back to page', () => {
// cy.contains('div', 'Upload').click();
// cy.get('input[type="file"]').selectFile('cypress/fixtures/csv/worngFile.csv');
// // rename
// cy.get('#fileNameInput').type(' is space ').blur();
// cy.get('#fileNameInput').should('have.value', 'worngFile is space');
// cy.get('#fileNameInput').clear().type(' is space ').blur();
// cy.get('#fileNameInput').should('have.value', 'is space');
// // reset
// cy.get('div[data-type="timestamp"]').click();
// cy.get('.p-dropdown-item').filter('[aria-label="Timestamp*"]').click(); // 使用 filter 選擇包含特定屬性的元素
// 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*');
// cy.contains('.btn', 'Reset').click();
// cy.get('div[data-type="timestamp"] span').contains('Not Assigned');
// cy.get('div[data-type="case id"] span').contains('Not Assigned');
// cy.get('div[data-type="name"] span').contains('Not Assigned');
// cy.get('div[data-type="instance"] span').contains('Not Assigned');
// cy.get('div[data-type="status"] span').contains('Not Assigned');
// // back to page
// cy.contains('.btn', 'Cancel').click();
// 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();
// // '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/rightFile.csv');
// // 斷言按鈕是否禁用
// cy.contains('.btn', 'Upload').should('be.disabled');
// // 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="CaseID"]').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="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_Instance"]').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="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?'
// 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');
// });
// it('Donwload file.', () => {
// const downloadsFolder = Cypress.config('downloadsFolder');
// const path = require('path');
// const filename = path.join(downloadsFolder, 'rightFile.csv');
// // 選取檔案
// cy.get('table tbody tr:first-child td:first-child')
// .contains('rightFile')
// .rightclick();
// cy.get('.p-contextmenu')
// .find('li')
// .filter(':contains("Download")')
// .click();
// cy.wait(2000);
// // download to '/cypress/downloads'
// cy.readFile(filename);
// cy.wait(2000);
// });
// it('Delete file.', () => {
// // select file
// cy.get('table tbody tr:first-child td:first-child')
// .contains('rightFile') // rightclick 需要 DOM 元素做目標,前面不能階斷言 should
// .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();
// });
});