Cypress: filterFunnel - Start & End testing done.
This commit is contained in:
@@ -95,7 +95,46 @@ describe('Save Log and Filter', ()=>{
|
|||||||
// });
|
// });
|
||||||
// });
|
// });
|
||||||
|
|
||||||
it('Sequence, End', () => {
|
// it('Sequence, End', () => {
|
||||||
|
// // 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)
|
||||||
|
// cy.get('input#End1').check({ force: true });
|
||||||
|
|
||||||
|
// // No selected.
|
||||||
|
// cy.contains('button', 'Apply').click();
|
||||||
|
// cy.get('.v-toast__text').should('contain', 'Not selected');
|
||||||
|
// cy.wait(3000);
|
||||||
|
|
||||||
|
// // Clear selected item.
|
||||||
|
// cy.get('table tr:nth-child(1) input[type="radio"]').check({force: true}); // 選取第一個
|
||||||
|
// cy.contains('button', 'Clear').click();
|
||||||
|
// cy.get('table tr:nth-child(1) input[type="radio"]').should('not.be.checked')
|
||||||
|
// cy.wait(3000);
|
||||||
|
|
||||||
|
// // 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', 'End');
|
||||||
|
// 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() 獲取 <li> 元素的內容
|
||||||
|
// const percentage = $li.find('span').eq(1).text(); // li 底下找到第二個 span
|
||||||
|
// expect(percentage).not.to.equal('100%'); // text !== 100% 來判斷數據是否有變化
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
|
||||||
|
it('Sequence, Start & End', () => {
|
||||||
// select radio
|
// select radio
|
||||||
cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence'
|
cy.get('input#Sequence0').should('be.checked'); // 選取 Radio 'Sequence'
|
||||||
cy.contains('label', 'Start activity / End activity') // 選取 Radio 'Have activity(s)'
|
cy.contains('label', 'Start activity / End activity') // 選取 Radio 'Have activity(s)'
|
||||||
@@ -104,25 +143,43 @@ describe('Save Log and Filter', ()=>{
|
|||||||
.should('have.attr', 'type', 'radio') // select the previous element
|
.should('have.attr', 'type', 'radio') // select the previous element
|
||||||
.check({ force: true })
|
.check({ force: true })
|
||||||
.should('be.checked'); // confirm it's type radio (optional)
|
.should('be.checked'); // confirm it's type radio (optional)
|
||||||
cy.get('input#End1').check({ force: true });
|
cy.get('input[id="Start & End2"]').check({ force: true });
|
||||||
|
|
||||||
// No selected.
|
// No selected.
|
||||||
cy.contains('button', 'Apply').click();
|
cy.contains('button', 'Apply').click();
|
||||||
cy.get('.v-toast__text').should('contain', 'Not selected');
|
cy.get('.v-toast__text').should('contain', 'Both Start and End must be selected');
|
||||||
cy.wait(3000);
|
cy.wait(3000);
|
||||||
|
|
||||||
|
// 選取 "start" 的 <table>
|
||||||
|
cy.contains('p', 'Start activity')
|
||||||
|
.parents('div') // 回到 p 的父層 div
|
||||||
|
.eq(1) // 同階層的第二個 div
|
||||||
|
.find('table') // 向下找 table
|
||||||
|
.as('startTable'); // 將選取的元素命名,使用 @startTable 來操作
|
||||||
|
// 選取 "end" 的 <table>
|
||||||
|
cy.contains('p', 'End activity')
|
||||||
|
.parents('div')
|
||||||
|
.eq(1)
|
||||||
|
.find('table')
|
||||||
|
.as('endTable'); // 使用 @endTable 來操作
|
||||||
|
|
||||||
// Clear selected item.
|
// Clear selected item.
|
||||||
cy.get('table tr:nth-child(1) input[type="radio"]').check({force: true}); // 選取第一個
|
cy.get('@startTable').find('tr:nth-child(1) input[type="radio"]').check({ force: true });
|
||||||
|
cy.get('@endTable').find('tr:nth-child(1) input[type="radio"]').check({ force: true });
|
||||||
cy.contains('button', 'Clear').click();
|
cy.contains('button', 'Clear').click();
|
||||||
cy.get('table tr:nth-child(1) input[type="radio"]').should('not.be.checked')
|
cy.get('@startTable').find('tr:nth-child(1) input[type="radio"]').should('not.be.checked');
|
||||||
|
cy.get('@endTable').find('tr:nth-child(1) input[type="radio"]').should('not.be.checked');
|
||||||
cy.wait(3000);
|
cy.wait(3000);
|
||||||
|
|
||||||
// selected item
|
// selected item
|
||||||
cy.get('table tr:nth-child(2) input[type="radio"]').check({force: true});
|
cy.get('@startTable').find('tr:nth-child(1) input[type="radio"]').check({ force: true });
|
||||||
|
cy.get('@endTable').find('tr:nth-child(1) input[type="radio"]').check({ force: true });
|
||||||
cy.contains('button', 'Apply').click();
|
cy.contains('button', 'Apply').click();
|
||||||
cy.get('#tabFunnel').click();
|
cy.get('#tabFunnel').click();
|
||||||
cy.contains('p', 'Sequence');
|
cy.contains('p', 'Sequence');
|
||||||
cy.contains('span', 'End');
|
cy.contains('span', 'Start')
|
||||||
|
.parent()
|
||||||
|
.contains('span', 'End'); // 斷言 text 是否包含 Start 和 End.
|
||||||
cy.contains('button', 'Apply All').click();
|
cy.contains('button', 'Apply All').click();
|
||||||
|
|
||||||
// make sure create map again.
|
// make sure create map again.
|
||||||
|
|||||||
50
package-lock.json
generated
50
package-lock.json
generated
@@ -41,7 +41,7 @@
|
|||||||
"@vue/eslint-config-prettier": "^7.0.0",
|
"@vue/eslint-config-prettier": "^7.0.0",
|
||||||
"@vue/test-utils": "^2.2.6",
|
"@vue/test-utils": "^2.2.6",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.13",
|
||||||
"cypress": "^12.0.2",
|
"cypress": "^12.13.0",
|
||||||
"eslint": "^8.22.0",
|
"eslint": "^8.22.0",
|
||||||
"eslint-plugin-cypress": "^2.12.1",
|
"eslint-plugin-cypress": "^2.12.1",
|
||||||
"eslint-plugin-vue": "^9.3.0",
|
"eslint-plugin-vue": "^9.3.0",
|
||||||
@@ -1989,9 +1989,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/commander": {
|
"node_modules/commander": {
|
||||||
"version": "5.1.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
||||||
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
|
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
@@ -2102,9 +2102,9 @@
|
|||||||
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
||||||
},
|
},
|
||||||
"node_modules/cypress": {
|
"node_modules/cypress": {
|
||||||
"version": "12.2.0",
|
"version": "12.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-12.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/cypress/-/cypress-12.13.0.tgz",
|
||||||
"integrity": "sha512-kvl95ri95KK8mAy++tEU/wUgzAOMiIciZSL97LQvnOinb532m7dGvwN0mDSIGbOd71RREtmT9o4h088RjK5pKw==",
|
"integrity": "sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -2122,10 +2122,10 @@
|
|||||||
"check-more-types": "^2.24.0",
|
"check-more-types": "^2.24.0",
|
||||||
"cli-cursor": "^3.1.0",
|
"cli-cursor": "^3.1.0",
|
||||||
"cli-table3": "~0.6.1",
|
"cli-table3": "~0.6.1",
|
||||||
"commander": "^5.1.0",
|
"commander": "^6.2.1",
|
||||||
"common-tags": "^1.8.0",
|
"common-tags": "^1.8.0",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"debug": "^4.3.2",
|
"debug": "^4.3.4",
|
||||||
"enquirer": "^2.3.6",
|
"enquirer": "^2.3.6",
|
||||||
"eventemitter2": "6.4.7",
|
"eventemitter2": "6.4.7",
|
||||||
"execa": "4.1.0",
|
"execa": "4.1.0",
|
||||||
@@ -2140,7 +2140,7 @@
|
|||||||
"listr2": "^3.8.3",
|
"listr2": "^3.8.3",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"log-symbols": "^4.0.0",
|
"log-symbols": "^4.0.0",
|
||||||
"minimist": "^1.2.6",
|
"minimist": "^1.2.8",
|
||||||
"ospath": "^1.2.2",
|
"ospath": "^1.2.2",
|
||||||
"pretty-bytes": "^5.6.0",
|
"pretty-bytes": "^5.6.0",
|
||||||
"proxy-from-env": "1.0.0",
|
"proxy-from-env": "1.0.0",
|
||||||
@@ -4342,9 +4342,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/minimist": {
|
"node_modules/minimist": {
|
||||||
"version": "1.2.7",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||||
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
|
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
@@ -7929,9 +7929,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "5.1.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
||||||
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
|
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"common-tags": {
|
"common-tags": {
|
||||||
@@ -8017,9 +8017,9 @@
|
|||||||
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
||||||
},
|
},
|
||||||
"cypress": {
|
"cypress": {
|
||||||
"version": "12.2.0",
|
"version": "12.13.0",
|
||||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-12.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/cypress/-/cypress-12.13.0.tgz",
|
||||||
"integrity": "sha512-kvl95ri95KK8mAy++tEU/wUgzAOMiIciZSL97LQvnOinb532m7dGvwN0mDSIGbOd71RREtmT9o4h088RjK5pKw==",
|
"integrity": "sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@cypress/request": "^2.88.10",
|
"@cypress/request": "^2.88.10",
|
||||||
@@ -8036,10 +8036,10 @@
|
|||||||
"check-more-types": "^2.24.0",
|
"check-more-types": "^2.24.0",
|
||||||
"cli-cursor": "^3.1.0",
|
"cli-cursor": "^3.1.0",
|
||||||
"cli-table3": "~0.6.1",
|
"cli-table3": "~0.6.1",
|
||||||
"commander": "^5.1.0",
|
"commander": "^6.2.1",
|
||||||
"common-tags": "^1.8.0",
|
"common-tags": "^1.8.0",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"debug": "^4.3.2",
|
"debug": "^4.3.4",
|
||||||
"enquirer": "^2.3.6",
|
"enquirer": "^2.3.6",
|
||||||
"eventemitter2": "6.4.7",
|
"eventemitter2": "6.4.7",
|
||||||
"execa": "4.1.0",
|
"execa": "4.1.0",
|
||||||
@@ -8054,7 +8054,7 @@
|
|||||||
"listr2": "^3.8.3",
|
"listr2": "^3.8.3",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"log-symbols": "^4.0.0",
|
"log-symbols": "^4.0.0",
|
||||||
"minimist": "^1.2.6",
|
"minimist": "^1.2.8",
|
||||||
"ospath": "^1.2.2",
|
"ospath": "^1.2.2",
|
||||||
"pretty-bytes": "^5.6.0",
|
"pretty-bytes": "^5.6.0",
|
||||||
"proxy-from-env": "1.0.0",
|
"proxy-from-env": "1.0.0",
|
||||||
@@ -9706,9 +9706,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "1.2.7",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||||
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
|
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"mitt": {
|
"mitt": {
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
"@vue/eslint-config-prettier": "^7.0.0",
|
"@vue/eslint-config-prettier": "^7.0.0",
|
||||||
"@vue/test-utils": "^2.2.6",
|
"@vue/test-utils": "^2.2.6",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.13",
|
||||||
"cypress": "^12.0.2",
|
"cypress": "^12.13.0",
|
||||||
"eslint": "^8.22.0",
|
"eslint": "^8.22.0",
|
||||||
"eslint-plugin-cypress": "^2.12.1",
|
"eslint-plugin-cypress": "^2.12.1",
|
||||||
"eslint-plugin-vue": "^9.3.0",
|
"eslint-plugin-vue": "^9.3.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user