test: E2E-conformance save log and filter done.

This commit is contained in:
chiayin
2023-12-06 12:52:50 +08:00
parent 71f0926eb9
commit a745015442
10 changed files with 1249 additions and 2516 deletions

View File

@@ -0,0 +1,165 @@
// 每一 describe 就是一個測試套件
// 每一 it 就是一個測試命令
describe('Conformance Save', ()=>{
beforeEach(() => {
cy.visit('https://REDACTED-HOST/files');
cy.login();
cy.visit('https://REDACTED-HOST/files');
});
// it('save conformance log', () => {
// // enter Map
// cy.url().should('include', 'files');
// cy.contains('.fileName', 'random').dblclick(); // 選取 'random' log 檔
// cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
// cy.url().should('include', 'discover/map/log'); // 斷言在 discover/map/log/:id 路徑
// cy.wait(2000)
// // enter Conformance
// cy.contains('li', 'CONFORMANCE').click(); // 點擊 Conformance 頁
// cy.wait(2000);
// cy.url().should('include', '/discover/conformance/log'); // 斷言在 discover/conformance/log/:id 路徑
// cy.get('.active').should('have.text', 'CONFORMANCE');
// // select radio
// cy.get('#cyp-conformance-type-radio').find('input').first().click({ force: true }).should('be.checked');
// // select list checkbox
// cy.get('#cyp-conformance-list-checkbox').find('input').first().click({ force: true }).should('be.checked');
// // click apply
// cy.contains('button', 'Apply').click();
// cy.contains('.v-toast', 'Rule applied');
// // save conformance log
// cy.contains('button', 'Save').click();
// cy.contains('.swal2-title', 'SAVE NEW RULE');
// cy.contains('button', 'OK').click();
// cy.contains('#swal2-validation-message', 'You need to write something!'); // 不輸入要跳驗證
// cy.get('.swal2-input').clear().type('random-conformance-log-E2Etesting');
// cy.contains('button', 'OK').click();
// cy.contains('#swal2-html-container', 'random-conformance-log-E2Etesting');
// // 回到 Files 檢查是否有新增 Filter 'random-conformance-log-E2Etesting'.
// cy.visit('https://REDACTED-HOST/files');
// cy.url().should('include', 'files');
// cy.contains('.fileName', 'random-conformance-log-E2Etesting');
// });
it('save conformance filter', () => {
// 先做一個 filter再做一個 conformance filter。
// enter log
cy.url().should('include', 'files');
cy.get('table tr')
.filter(':contains("Log")') // 選擇 type Log
.filter(':contains("random")') // 選擇 random log 檔
.dblclick(); // 對選中的 tr 執行雙擊
cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
cy.url().should('include', 'discover/map/log'); // 斷言在 discover/map/log/:id 路徑
cy.wait(2000);
// select radio
cy.get('#iconFilter').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 log
cy.contains('button', 'Save').click();
cy.contains('.swal2-title', 'SAVE NEW FILTER');
cy.get('.swal2-input').clear().type('random-to-conformance-filter-E2Etesting');
cy.contains('button', 'OK').click();
cy.contains('#swal2-html-container', 'random-to-conformance-filter-E2Etesting');
// 回到 Files 檢查是否有新增 Filter 'random-to-conformance-filter-E2Etesting'
// enter Map
cy.visit('https://REDACTED-HOST/files');
cy.url().should('include', 'files');
cy.get('table tr')
.filter(':contains("Filter")') // 選擇 type Filter
.filter(':contains("random-to-conformance-filter-E2Etesting")') // 選擇 random-to-conformance-filter-E2Etesting filter 檔
.dblclick(); // 對選中的 tr 執行雙擊
cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
cy.url().should('include', 'discover/map/filter'); // 斷言在 discover/map/filter/:id 路徑
cy.wait(2000)
// enter Conformance
cy.contains('li', 'CONFORMANCE').click(); // 點擊 Conformance 頁
cy.wait(2000);
cy.url().should('include', '/discover/conformance/filter'); // 斷言在 discover/conformance/filter/:id 路徑
cy.get('.active').should('have.text', 'CONFORMANCE');
// select radio
cy.get('#cyp-conformance-type-radio').find('input').first().click({ force: true }).should('be.checked');
// select list checkbox
cy.get('#cyp-conformance-list-checkbox').find('input').eq(1).click({ force: true }).should('be.checked');
// click apply
cy.contains('button', 'Apply').click();
cy.contains('.v-toast', 'Rule applied');
// save conformance log
cy.contains('button', 'Save').click();
cy.contains('.swal2-title', 'SAVE NEW RULE');
cy.contains('button', 'OK').click();
cy.contains('#swal2-validation-message', 'You need to write something!'); // 不輸入要跳驗證
cy.get('.swal2-input').clear().type('random-conformance-filter-E2Etesting');
cy.contains('button', 'OK').click();
cy.contains('#swal2-html-container', 'random-conformance-filter-E2Etesting');
// 回到 Files 檢查是否有新增 Filter 'random-conformance-log-E2Etesting'.
cy.visit('https://REDACTED-HOST/files');
cy.url().should('include', 'files');
cy.contains('.fileName', 'random-conformance-filter-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/map/log'); // 斷言在 discover/map/log/: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');
// })
});

View File

@@ -8,5 +8,6 @@
"./**/*",
"../support/**/*",
"/node_modules/cypress",
"cypress/**/*.js"]
"cypress/**/*.js",],
"experimentalShadowDomSupport": true
}

View File

@@ -18,7 +18,8 @@ Cypress.Commands.add('login', () => {
form: true,
body: {
username: Cypress.env('user').username,
password: Cypress.env('user').password
password: Cypress.env('user').password,
grant_type: 'password',
}
}).then(response => {
const token = response.body.access_token;