From 90e39cc6c5c907d08670de4fd52e1680c0651776 Mon Sep 17 00:00:00 2001 From: rmmayo Date: Fri, 10 May 2024 13:21:20 +0000 Subject: [PATCH] #2490 - fixing tests --- .../components/utils/ExistingUserInput.vue | 1 + e2e-tests/cypress/e2e/approver_conf_spec.js | 2 +- .../cypress/e2e/approver_conf_users_spec.js | 6 ++-- .../e2e/quiz/quiz_role_management_spec.js | 2 +- e2e-tests/cypress/e2e/settings_spec.js | 33 ++++++++++--------- e2e-tests/cypress/e2e/skills_spec.js | 8 ++--- e2e-tests/cypress/support/commands.js | 5 +-- e2e-tests/package.json | 2 +- 8 files changed, 32 insertions(+), 27 deletions(-) diff --git a/dashboard-prime/src/components/utils/ExistingUserInput.vue b/dashboard-prime/src/components/utils/ExistingUserInput.vue index 8f5da3ae9..46dae7a8c 100644 --- a/dashboard-prime/src/components/utils/ExistingUserInput.vue +++ b/dashboard-prime/src/components/utils/ExistingUserInput.vue @@ -182,6 +182,7 @@ const suggestUsers = (query) => { { cy.get(`[data-cy="workloadCell_${user1}"] [data-cy="editApprovalBtn"]`).click() cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"]`).click(); - cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userA'); + cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userA', true, true); // cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] .vs__dropdown-option`).contains('userA').click({force: true}); cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).click() cy.get(`[data-cy="workloadCell_${user1}"]`).contains('1 Specific User') diff --git a/e2e-tests/cypress/e2e/approver_conf_users_spec.js b/e2e-tests/cypress/e2e/approver_conf_users_spec.js index db60b103b..4b5df5307 100644 --- a/e2e-tests/cypress/e2e/approver_conf_users_spec.js +++ b/e2e-tests/cypress/e2e/approver_conf_users_spec.js @@ -63,7 +63,7 @@ describe('Approver Config Users Tests', () => { cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).should('be.disabled') // cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"]`).click(); - cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userA'); + cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userA', true, true); // cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] .p-dropdown-option`).contains('userA').click(); cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).should('be.enabled') @@ -79,7 +79,7 @@ describe('Approver Config Users Tests', () => { cy.get(`[data-cy="workloadCell_${user1}"]`).contains('1 Specific User') // cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"]`).click(); - cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userB'); + cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userB', true, true); // cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] .p-dropdown-option`).contains('userB').click(); cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).should('be.enabled') cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).click() @@ -200,7 +200,7 @@ describe('Approver Config Users Tests', () => { const headerSelector = `${tableSelector} thead tr th`; cy.get(headerSelector).contains('User').click(); - cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userE'); + cy.selectItem(`[data-cy="expandedChild_${user1}"] [data-cy="userIdInput"] #existingUserInput`, 'userE', true, true); cy.get(`[data-cy="expandedChild_${user1}"] [data-cy="addUserConfBtn"]`).click() cy.validateTable(tableSelector, [ diff --git a/e2e-tests/cypress/e2e/quiz/quiz_role_management_spec.js b/e2e-tests/cypress/e2e/quiz/quiz_role_management_spec.js index d47a5463b..ef8af029a 100644 --- a/e2e-tests/cypress/e2e/quiz/quiz_role_management_spec.js +++ b/e2e-tests/cypress/e2e/quiz/quiz_role_management_spec.js @@ -33,7 +33,7 @@ describe('Quiz User Role Management Tests', () => { cy.get('[data-cy="existingUserInput"]').type('root'); cy.wait('@suggest'); cy.wait(500); - cy.get('[data-pc-section="itemlabel"]').contains('root@skills.org').click(); + cy.get('[data-pc-section="item"]').contains('root@skills.org').click(); cy.get('[data-cy="quizAdmin_root@skills.org"]').should('not.exist') cy.get('[data-cy="addUserBtn"]').click() cy.get('[data-cy="quizAdmin_root@skills.org"]') diff --git a/e2e-tests/cypress/e2e/settings_spec.js b/e2e-tests/cypress/e2e/settings_spec.js index fe1538030..99fcae9f5 100644 --- a/e2e-tests/cypress/e2e/settings_spec.js +++ b/e2e-tests/cypress/e2e/settings_spec.js @@ -181,10 +181,12 @@ describe('Settings Tests', () => { }], ], 5, true, null, false); - cy.get('#existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('sk'); + cy.get('[data-cy="rootrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="rootrm"] [data-cy="existingUserInputDropdown"]').type('sk'); + cy.wait('@getEligibleForRoot'); - cy.contains('skills@skills.org') + cy.get('[data-pc-section="item"]') + .contains('skills@skills.org') .click({ force: true }); cy.contains('Add') .first() @@ -339,10 +341,11 @@ describe('Settings Tests', () => { }], ], 5, true, null, false); - cy.get('#existingUserInput [data-pc-section="trigger"]').first().click(); + cy.get('[data-cy="rootrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); cy.wait('@getEligibleForRoot'); - cy.contains('skills@skills.org') + cy.get('[data-pc-section="item"]') + .contains('skills@skills.org') .click(); cy.contains('Add') .first() @@ -416,8 +419,8 @@ describe('Settings Tests', () => { cy.wait('@checkRoot'); cy.clickNav('Security'); - cy.get('[data-cy="supervisorrm"] #existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('root'); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"]').type('root'); cy.wait('@getEligibleForSupervisor'); cy.get('[data-pc-section="item"]') @@ -459,8 +462,8 @@ describe('Settings Tests', () => { cy.visit('/settings/security'); - cy.get('[data-cy="supervisorrm"] #existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('root'); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"]').type('root'); cy.wait('@getEligibleForSupervisor'); cy.get('[data-pc-section="item"]') @@ -471,8 +474,8 @@ describe('Settings Tests', () => { .click(); cy.wait('@addSupervisor'); - cy.get('[data-cy="supervisorrm"] #existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('skills'); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"]').type('{selectall}skills'); cy.wait('@getEligibleForSupervisor'); cy.get('[data-pc-section="item"]') @@ -563,8 +566,8 @@ describe('Settings Tests', () => { .click(); cy.wait('@checkRoot'); cy.clickNav('Security'); - cy.get('[data-cy="supervisorrm"] #existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('blah'); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"]').type('blah'); cy.wait('@getEligibleForSupervisor'); cy.get('[data-pc-section="item"]') @@ -623,8 +626,8 @@ describe('Settings Tests', () => { cy.wait('@checkRoot'); cy.contains('Security') .click(); - cy.get('[data-cy="supervisorrm"] #existingUserInput [data-pc-section="trigger"]').first().click(); - cy.get('[data-pc-section="filterinput"]').type('sk/foo'); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"] [data-pc-name="dropdownbutton"]').click(); + cy.get('[data-cy="supervisorrm"] [data-cy="existingUserInputDropdown"]').type('sk/foo'); cy.wait('@getEligibleForSupervisor'); }); diff --git a/e2e-tests/cypress/e2e/skills_spec.js b/e2e-tests/cypress/e2e/skills_spec.js index b1ec393a7..95c4d7f96 100644 --- a/e2e-tests/cypress/e2e/skills_spec.js +++ b/e2e-tests/cypress/e2e/skills_spec.js @@ -547,21 +547,21 @@ describe('Skills Tests', () => { cy.contains(expectedErrMsg) cy.get(addButtonSelector).should('be.disabled') - cy.get(userIdSelector).type('userd{enter}') + cy.get(userIdSelector).type('{selectall}userd{enter}') cy.contains(expectedErrMsg).should('not.exist') cy.get(addButtonSelector).should('not.be.disabled') - cy.get(userIdSelector).type('user d{enter}') + cy.get(userIdSelector).type('{selectall}user d{enter}') cy.contains(expectedErrMsg) cy.get(addButtonSelector).should('be.disabled') - cy.get(userIdSelector).type('userOK{enter}') + cy.get(userIdSelector).type('{selectall}userOK{enter}') cy.contains(expectedErrMsg).should('not.exist') cy.get(addButtonSelector).should('not.be.disabled') cy.get(addButtonSelector).click() cy.contains('userOK') - cy.get(userIdSelector).type('user@#$&*{enter}') + cy.get(userIdSelector).type('{selectall}user@#$&*{enter}') cy.contains(expectedErrMsg).should('not.exist') cy.get(addButtonSelector).should('not.be.disabled') cy.get(addButtonSelector).click() diff --git a/e2e-tests/cypress/support/commands.js b/e2e-tests/cypress/support/commands.js index a4581a29a..0a98940e0 100644 --- a/e2e-tests/cypress/support/commands.js +++ b/e2e-tests/cypress/support/commands.js @@ -1425,9 +1425,10 @@ Cypress.Commands.add('visitAdmin', () => { cy.get('[data-cy="inception-button"]').contains('Level'); }); -Cypress.Commands.add('selectItem', (selector, item, openPicker = true) => { +Cypress.Commands.add('selectItem', (selector, item, openPicker = true, autoCompleteDropdown = false) => { if (openPicker) { - let itemToSelect = selector + ' [data-pc-section="trigger"]'; + const trigger = autoCompleteDropdown ? '[data-pc-name="dropdownbutton"]' : '[data-pc-section="trigger"]'; + const itemToSelect = `${selector} ${trigger}`; cy.get(itemToSelect).click(); } cy.get('[data-pc-section="item"]').contains(item).click(); diff --git a/e2e-tests/package.json b/e2e-tests/package.json index 49bbcb921..93c6630c2 100644 --- a/e2e-tests/package.json +++ b/e2e-tests/package.json @@ -28,7 +28,7 @@ "cy:run:oauth": "TZ=UTC cypress run --browser chrome --env oauthMode=true --config video=true", "cy:run:accessibility": "TZ=UTC cypress run --browser chrome --env enableLighthouse=true,enableAvgLighthouseScore=true --browser chrome --headless --spec \"cypress/e2e/accessibility/*.js\" --config video=true", "cy:run:dev": "TZ=UTC cypress run --browser chrome --config baseUrl=http://localhost:5173 --env type=base", - "cy:run:dev:specificTest": "TZ=UTC cypress run --browser chrome --config baseUrl=http://localhost:5173 --spec \"cypress/e2e/quiz/quiz_skills-catalog_spec.js\"", + "cy:run:dev:specificTest": "TZ=UTC cypress run --browser chrome --config baseUrl=http://localhost:5173 --spec \"cypress/e2e/settings_spec.js\"", "cy:run:dev:updateSnapshotForSpecificTests": "TZ=UTC cypress run --browser chrome --env type=base --config baseUrl=http://localhost:5173 --spec \"cypress/e2e/quiz/client-display_quiz_theme_spec.js,cypress/e2e/quiz/client-display_quiz_visual_spec.js\"", "cy:run:dev:metrics": "TZ=UTC cypress run --browser chrome --spec \"cypress/e2e/metrics/projectMetrics_projects_spec.js,cypress/e2e/metrics/projectMetrics_subjects_spec.js,cypress/e2e/metrics/skillMetrics_spec.js,cypress/e2e/metrics/subjectMetrics_spec.js\"", "cy:run:dev:updateMetricsSnapshots": "TZ=UTC cypress run --browser chrome --config baseUrl=http://localhost:5173 --env type=base --spec \"cypress/e2e/metrics/projectMetrics_projects_spec.js,cypress/e2e/metrics/projectMetrics_subjects_spec.js,cypress/e2e/metrics/skillMetrics_spec.js,cypress/e2e/metrics/subjectMetrics_spec.js\"",