test: E2E-conformance rule Have activity.
This commit is contained in:
168
cypress/fixtures/conformanceSave.cy.js
Normal file
168
cypress/fixtures/conformanceSave.cy.js
Normal file
@@ -0,0 +1,168 @@
|
||||
// 每一 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.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)
|
||||
|
||||
// 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')
|
||||
.contains('.fileType', 'Filter')
|
||||
.parent()
|
||||
.contains('.fileName', 'random-to-conformance-filter-E2Etesting')
|
||||
.dblclick();
|
||||
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 conformance', () => {
|
||||
// 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)
|
||||
|
||||
// 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');
|
||||
cy.wait(1000)
|
||||
|
||||
cy.get('#backPage').click();
|
||||
cy.contains('.swal2-title', 'SAVE YOUR RULE');
|
||||
cy.contains('button', 'No').click();
|
||||
cy.url().should('include', 'files');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user