Files
lucia-frontend/cypress/fixtures/doneTesting/conformanceRule.cy.js
Cindy Chang 56c94f1d80 sonarqube
2024-07-22 11:16:16 +08:00

169 lines
5.5 KiB
JavaScript

// 每一 describe 就是一個測試套件
// 每一 it 就是一個測試命令
describe('Conformance Save', ()=>{
beforeEach(() => {
cy.visit('https://REDACTED-HOST/files');
cy.login();
cy.visit('https://REDACTED-HOST/files');
});
it('Cycle time, Start', () => {
// enter Map
cy.url().should('include', 'files');
cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true });
cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑
cy.wait(2000)
// select radio Rule Type
cy.get('#cyp-conformance-type-radio')
.find('input[value="Cycle time"]')
.check({ force: true })
.should('be.checked');
// select radio Activity Sequence
cy.get('#cyp-conformance-actseq-radio')
.find('input[value="Start"]')
.check({ force: true })
.should('be.checked');
// open showbar
cy.get('#cyp-showbaricon').click();
// select radio Start
cy.contains('p', 'Start')
.next('div')
.find('input')
.first()
.check({ force: true })
.should('be.checked');
// change time to time range Start
cy.get('#min').click();
cy.get('input[data-index="2"]').eq(0).type('59', { force: true });
// change time to time range End
cy.get('#max').click();
cy.get('input[data-index="2"]').eq(0).type('0', { force: true });
// click apply
cy.contains('button', 'Apply').click();
cy.contains('.v-toast', 'Rule applied');
// 是否有顯示選擇項目
cy.get('#cyp-conformance-result-dot')
.find('li') // 在 ul 中找到所有的 li 元素
.should('have.length', 1); // 斷言 li 的數量為 2
// save log
cy.contains('button', 'Save').click();
cy.contains('.swal2-title', 'SAVE COMPLETE');
cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting');
});
it('Cycle time,End', () => {
// enter Map
cy.url().should('include', 'files');
cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true });
cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑
cy.wait(2000)
// select radio Rule Type
cy.get('#cyp-conformance-type-radio')
.find('input[value="Cycle time"]')
.check({ force: true })
.should('be.checked');
// select radio Activity Sequence
cy.get('#cyp-conformance-actseq-radio')
.find('input[value="End"]')
.check({ force: true })
.should('be.checked');
// open showbar
cy.get('#cyp-showbaricon').click();
// select radio End
cy.contains('p', 'End')
.next('div')
.find('input')
.first()
.check({ force: true })
.should('be.checked');
// change time to time range Start
cy.get('#min').click();
cy.get('input[data-index="2"]').eq(0).type('59', { force: true });
// change time to time range End
cy.get('#max').click();
cy.get('input[data-index="2"]').eq(0).type('0', { force: true });
// click apply
cy.contains('button', 'Apply').click();
cy.contains('.v-toast', 'Rule applied');
// 是否有顯示選擇項目
cy.get('#cyp-conformance-result-dot')
.find('li') // 在 ul 中找到所有的 li 元素
.should('have.length', 1); // 斷言 li 的數量為 2
// save log
cy.contains('button', 'Save').click();
cy.contains('.swal2-title', 'SAVE COMPLETE');
cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting');
});
it('Cycle time,Start & End', () => {
// enter Map
cy.url().should('include', 'files');
cy.get('table tr').filter(':contains("Rule")').filter(':contains("random-conformance-rule-E2Etesting")').dblclick({ force: true });
cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁
cy.url().should('include', 'rule/log'); // 斷言在 discover/map/log/:id 路徑
cy.wait(2000)
// select radio Rule Type
cy.get('#cyp-conformance-type-radio')
.find('input[value="Cycle time"]')
.check({ force: true })
.should('be.checked');
// select radio Activity Sequence
cy.get('#cyp-conformance-actseq-radio')
.find('input[value="Start & End"]')
.check({ force: true })
.should('be.checked');
// open showbar
cy.get('#cyp-showbaricon').click();
// select radio "Start & End
cy.contains('p', 'Start')
.next('div')
.find('input')
.check({ force: true })
.should('be.checked');
// select radio End
cy.contains('p', 'End')
.next('div')
.find('input')
.check({ force: true })
.should('be.checked');
// change time to time range Start
cy.get('#min').click();
cy.get('input[data-index="2"]').eq(0).type('59', { force: true });
// change time to time range End
cy.get('#max').click();
cy.get('input[data-index="2"]').eq(0).type('0', { force: true });
// click apply
cy.contains('button', 'Apply').click();
cy.contains('.v-toast', 'Rule applied');
// 是否有顯示選擇項目
cy.get('#cyp-conformance-result-dot')
.find('li') // 在 ul 中找到所有的 li 元素
.should('have.length', 2); // 斷言 li 的數量為 2
// save log
cy.contains('button', 'Save').click();
cy.contains('.swal2-title', 'SAVE COMPLETE');
cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting');
});
});