diff --git a/cypress/e2e/conformanceRule.cy.js b/cypress/e2e/conformanceRule.cy.js index f5cda09..dded6a6 100644 --- a/cypress/e2e/conformanceRule.cy.js +++ b/cypress/e2e/conformanceRule.cy.js @@ -7,49 +7,156 @@ describe('Conformance Save', ()=>{ cy.visit('https://REDACTED-HOST/files'); }); - it('Have activity', () => { + // it('Have activity', () => { + // // 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'); + + // // 是否有顯示選擇項目 + // cy.get('#cyp-conformance-result-check').should('exist'); // 不僅僅檢查元素是否存在於 DOM 中,還檢查元素是否可見,並等待一定時間(預設為 4 秒)以確保元素在這段時間內出現在畫面上。 + + // // 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-rule-E2Etesting'); + // cy.contains('button', 'OK').click(); + // cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting'); + + // // 回到 Files 檢查是否有新增 Filter 'random-conformance-log-E2Etesting'. + // cy.visit('https://REDACTED-HOST/files'); + // cy.url().should('include', 'files'); + // cy.contains('.fileName', 'random-conformance-rule-E2Etesting'); + // }); + + // it('Activity sequence', () => { + // // enter Map + // cy.url().should('include', 'files'); + // cy.get('table tr') + // .filter(':contains("Rule")') // 選擇 type Log + // .filter(':contains("random-conformance-rule-E2Etesting")') // 選擇 random log 檔 + // .dblclick({ force: true }); // 對選中的 tr 執行雙擊 + // 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="Activity sequence"]') + // .check({ force: true }) + // .should('be.checked'); + + // // select radio Activity Sequence + // cy.get('#cyp-conformance-sequence-radio') + // .find('input[value="Start & End"]') + // .check({ force: true }) + // .should('be.checked'); + + // // open showbar + // cy.get('#cyp-showbaricon').click(); + + // // select radio Start + // 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'); + + // // 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'); + // }); + + it('Activity sequence, Sequence, Directly follows', () => { // enter Map cy.url().should('include', 'files'); cy.get('table tr') - .filter(':contains("Log")') // 選擇 type Log - .filter(':contains("random")') // 選擇 random log 檔 - .dblclick(); // 對選中的 tr 執行雙擊 + .filter(':contains("Rule")') // 選擇 type Log + .filter(':contains("random-conformance-rule-E2Etesting")') // 選擇 random log 檔 + .dblclick({ force: true }); // 對選中的 tr 執行雙擊 cy.contains('h2', 'DISCOVER'); // 斷言在 Discover 頁 - cy.url().should('include', 'discover/map/log'); // 斷言在 discover/map/log/:id 路徑 + cy.url().should('include', 'rule/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 Rule Type + cy.get('#cyp-conformance-type-radio') + .find('input[value="Activity sequence"]') + .check({ force: true }) + .should('be.checked'); - // select radio - cy.get('#cyp-conformance-type-radio').find('input').first().click({ force: true }).should('be.checked'); + // select radio Activity Sequence + cy.get('#cyp-conformance-sequence-radio') + .find('input[value="Sequence"]') + .check({ force: true }) + .should('be.checked'); - // select list checkbox - cy.get('#cyp-conformance-list-checkbox').find('input').first().click({ force: true }).should('be.checked'); + // select radio Mode + cy.get('#cyp-conformance-Mode-radio') + .find('input[value="Directly follows"]') + .check({ force: true }) + .should('be.checked'); + + // open showbar + cy.get('#cyp-showbaricon').click(); + + // select radio Start + cy.get('div[data-draggable="true"]').eq(0).dblclick(); // 第 1 個 div + cy.get('div[data-draggable="true"]').eq(1).dblclick(); // 第 2 個 div + cy.get('div[data-draggable="true"]').eq(2).dblclick(); // 第 3 個 div + cy.contains('button', 'Apply').click(); // click apply cy.contains('button', 'Apply').click(); cy.contains('.v-toast', 'Rule applied'); // 是否有顯示選擇項目 - cy.get('#cyp-conformance-result-check') + cy.get('#cyp-conformance-result-arrow') + .find('li') // 在 ul 中找到所有的 li 元素 + .should('have.length', 3); // 斷言 li 的數量為 2 - // save conformance log + // save 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-rule-E2Etesting'); - cy.contains('button', 'OK').click(); + cy.contains('.swal2-title', 'SAVE COMPLETE'); cy.contains('#swal2-html-container', 'random-conformance-rule-E2Etesting'); - - // 回到 Files 檢查是否有新增 Filter 'random-conformance-log-E2Etesting'. - cy.visit('https://REDACTED-HOST/files'); - cy.url().should('include', 'files'); - cy.contains('.fileName', 'random-conformance-rule-E2Etesting'); }); diff --git a/src/components/Discover/Conformance/ConformanceSidebar.vue b/src/components/Discover/Conformance/ConformanceSidebar.vue index a878eef..7f14feb 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar.vue @@ -14,7 +14,7 @@

Activity Selector

- {{ isShowBar ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }} + {{ isShowBar ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}
-
+

Rule Type

-
+
-
+

Activity Sequence

@@ -17,7 +17,7 @@
-
+

Mode

diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ResultArrow.vue b/src/components/Discover/Conformance/ConformanceSidebar/ResultArrow.vue index 6f1ca91..244b491 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ResultArrow.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ResultArrow.vue @@ -1,12 +1,12 @@