From ce5e5951b8ecad74ddde6cd2238aba9e5fe194cc Mon Sep 17 00:00:00 2001 From: chiayin Date: Mon, 8 May 2023 14:42:37 +0800 Subject: [PATCH] cypress-saveLogAndFilter: save filter & no save done. --- cypress/e2e/saveLogAndFilter.cy.js | 91 ++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 18 deletions(-) diff --git a/cypress/e2e/saveLogAndFilter.cy.js b/cypress/e2e/saveLogAndFilter.cy.js index 77be16a..7f8ed64 100644 --- a/cypress/e2e/saveLogAndFilter.cy.js +++ b/cypress/e2e/saveLogAndFilter.cy.js @@ -49,22 +49,77 @@ describe('Save Log and Filter', ()=>{ cy.url().should('include', 'files'); cy.contains('.fileName', 'random-E2Etesting'); }); + + it('save filter', () => { + // enter log + cy.url().should('include', 'files'); + cy.contains('.fileName', 'random-E2Etesting').dblclick(); // 選取 'random' log 檔 + cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 + cy.url().should('include', 'discover/filters'); // 斷言在 discover/logs/:id 路徑 + cy.wait(3000) + + // Delete All + cy.get('#iconFilter').click(); // 選取 Filter sidebar + cy.get('#tabFunnel').click(); + cy.contains('button', 'Delete All').click(); + + // select radio + cy.get('#tabFilter').click(); + cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence' + cy.contains('label', 'Have activity(s)') // 選取 Radio 'Have activity(s)' + .prev(2) + .find('input') + .should('have.attr', 'type', 'radio') // select the previous element + .should('be.checked'); // confirm it's type radio (optional) + + // select table item + cy.get('.allCheckboxAct') // 選取 all select + .find('input') + .should('not.be.visible').check({ force: true}).should('be.checked'); // 打開隱藏項目並選取 + + // click Alpay and click Alppy All + cy.contains('button', 'Apply').click(); + cy.get('#tabFunnel').click(); + cy.contains('.p-timeline', 'Sequence'); + cy.contains('button', 'Apply All').click(); + + // save filter + cy.contains('button', 'Save').click(); + cy.contains('#swal2-html-container', 'random-E2Etesting'); + }); + + it('no save log', () => { + // enter log + cy.url().should('include', 'files'); + cy.contains('.fileName', 'random').dblclick(); // 選取 'random' log 檔 + cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 + cy.url().should('include', 'discover/logs'); // 斷言在 discover/logs/:id 路徑 + cy.wait(3000) + + // select radio + cy.get('#iconFilter').click(); // 選取 Filter sidebar + cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence' + cy.contains('label', 'Have activity(s)') // 選取 Radio 'Have activity(s)' + .prev(2) + .find('input') + .should('have.attr', 'type', 'radio') // select the previous element + .should('be.checked'); // confirm it's type radio (optional) + + // select table item + cy.get('.allCheckboxAct') // 選取 all select + .find('input') + .should('not.be.visible').check({ force: true}).should('be.checked'); // 打開隱藏項目並選取 + + // click Alpay and click Alppy All + cy.contains('button', 'Apply').click(); + cy.get('#tabFunnel').click(); + cy.contains('.p-timeline', 'Sequence'); + cy.contains('button', 'Apply All').click(); + cy.wait(3000) + + cy.get('#backPage').click(); + cy.contains('.swal2-title', 'LEAVE MAP'); + cy.contains('button', 'OK').click(); + cy.url().should('include', 'files'); + }) }); - - - // 進入 fils 頁 - // 點擊 log / 點擊 filter - // 斷言: 編寫程式碼時,我們總是會做出一些假設,斷言就是用於在程式碼中捕捉這些假設。使用時機在該表達式值為真時使用。 -// 沒有操作 -// 有操作沒存檔 -// 有操作有存檔 -// 有操作重複存檔 -// 有重複操作 沒有存檔 -// Funnle 規則檢查 - -// dbclick() 雙擊 -// 多選 單選 -// npx cypress run --spec "cypress/e2e/saveLogAndFilter.cy.js" -// 分 無頭模式/瀏覽器介面模式,無頭模式更快,因為不用渲染瀏覽器介面 -// 上傳文件 -// $npm install --save cypress-file-upload