From 1c364fb15e078fc86523b2353c4341c6aadc9082 Mon Sep 17 00:00:00 2001 From: chiayin Date: Wed, 7 Jun 2023 16:33:02 +0800 Subject: [PATCH] Cypress: filterFunnel - Have activity & Start testing done. --- cypress/e2e/filterFunnel.cy.js | 92 ++++++++++++++--------- src/components/Discover/SidebarFilter.vue | 12 +-- src/views/Discover/index.vue | 2 +- 3 files changed, 63 insertions(+), 43 deletions(-) diff --git a/cypress/e2e/filterFunnel.cy.js b/cypress/e2e/filterFunnel.cy.js index c3d2e0a..d0dc58e 100644 --- a/cypress/e2e/filterFunnel.cy.js +++ b/cypress/e2e/filterFunnel.cy.js @@ -27,52 +27,72 @@ describe('Save Log and Filter', ()=>{ // No selected. cy.contains('button', 'Apply').click(); cy.get('.v-toast__text').should('contain', 'Not selected'); + cy.wait(3000); // Clear selected item. cy.get('.allCheckboxAct') // 選取 all select - .find('input') - .should('not.be.visible').check({ force: true}).should('be.checked'); // 打開隱藏項目並選取 + .find('input') + .should('not.be.visible').check({ force: true}).should('be.checked'); // 打開隱藏項目並選取 cy.contains('button', 'Clear').click(); cy.get('.allCheckboxAct') // 選取 all select - .find('input') - .should('not.be.visible') - .should('not.be.checked') + .find('input') + .should('not.be.visible') + .should('not.be.checked') + cy.wait(3000); + // selected item + cy.get('table tr:nth-child(2) input[type="checkbox"]').check({force: true}); + cy.contains('button', 'Apply').click(); + cy.get('#tabFunnel').click(); + cy.contains('p', 'Sequence'); + cy.contains('span', 'Include'); + cy.contains('button', 'Apply All').click(); - }) + // make sure create map again. + cy.get('header').click(); + cy.get('#iconState').click(); + cy.get('li').first().then($li => { // then() 獲取
  • 元素的內容 + const percentage = $li.find('span').eq(1).text(); // li 底下找到第二個 span + expect(percentage).not.to.equal('100%'); // text !== 100% 來判斷數據是否有變化 + }); + }); - // it('save log', () => { - // // select radio - // 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) + it('Sequence, Start', () => { + // select radio + cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence' + cy.contains('label', 'Start activity / End activity') // 選取 Radio 'Have activity(s)' + .prev(2) + .find('input') + .should('have.attr', 'type', 'radio') // select the previous element + .check({ force: true }) + .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'); // 打開隱藏項目並選取 + // No selected. + cy.contains('button', 'Apply').click(); + cy.get('.v-toast__text').should('contain', 'Not selected'); + cy.wait(3000); - // // 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(); + // Clear selected item. + cy.get('table tr:nth-child(2) input[type="radio"]').check({force: true}); // 選取第二個 + cy.contains('button', 'Clear').click(); + cy.get('table tr:nth-child(2) input[type="radio"]').should('not.be.checked') + cy.wait(3000); - // // Save log - // cy.contains('button', 'Save').click(); - // cy.contains('.swal2-title', 'SAVE NEW FILTER'); - // cy.contains('button', 'OK').click(); - // cy.contains('#swal2-validation-message', 'You need to write something!'); // 不輸入要跳驗證 - // cy.get('.swal2-input').clear().type('random-E2Etesting'); - // cy.contains('button', 'OK').click(); - // cy.contains('#swal2-html-container', 'random-E2Etesting'); + // selected item + cy.get('table tr:nth-child(2) input[type="radio"]').check({force: true}); + cy.contains('button', 'Apply').click(); + cy.get('#tabFunnel').click(); + cy.contains('p', 'Sequence'); + cy.contains('span', 'Start'); + cy.contains('button', 'Apply All').click(); + + // // make sure create map again. + cy.get('header').click(); + cy.get('#iconState').click(); + cy.get('li').first().then($li => { // then() 獲取
  • 元素的內容 + const percentage = $li.find('span').eq(1).text(); // li 底下找到第二個 span + expect(percentage).not.to.equal('100%'); // text !== 100% 來判斷數據是否有變化 + }); + }); - // // 回到 Files 檢查是否有新增 Filter 'random-E2Etesting'. - // cy.visit('https://REDACTED-HOST/files'); - // cy.url().should('include', 'files'); - // cy.contains('.fileName', 'random-E2Etesting'); - // }); }); diff --git a/src/components/Discover/SidebarFilter.vue b/src/components/Discover/SidebarFilter.vue index d24ce26..42eb580 100644 --- a/src/components/Discover/SidebarFilter.vue +++ b/src/components/Discover/SidebarFilter.vue @@ -24,7 +24,7 @@ -
    +

    Start & End

    @@ -71,11 +71,11 @@ - + - + -
    +
    @@ -128,7 +128,7 @@ export default { return { selectFilter: { 'Filter Type': ['Sequence', 'Attributes', 'Trace', 'Timeframes'], - 'Activity Sequence':['Have activity(s)', 'Start activity / end activity', 'Sequence'], + 'Activity Sequence':['Have activity(s)', 'Start activity / End activity', 'Sequence'], 'Start & End': ['Start', 'End', 'Start & End'], 'Mode': ['Directly follows', 'Eventually follows'], 'ModeAtt': ['Case', 'Activity'], @@ -419,7 +419,7 @@ export default { } }) }; - }else if(sele[1] === 'Start activity / end activity') { // Activity Sequence 選 Start activity / end activity 的行為 + }else if(sele[1] === 'Start activity / End activity') { // Activity Sequence 選 Start activity / End activity 的行為 if(sele[2] === 'Start') { if(this.selectFilterStart === null || this.selectFilterStart.length === 0) return this.$toast.error('Not selected'); else { diff --git a/src/views/Discover/index.vue b/src/views/Discover/index.vue index d40ee93..e9cd91d 100644 --- a/src/views/Discover/index.vue +++ b/src/views/Discover/index.vue @@ -36,7 +36,7 @@
      -
    • +
    • info