From 484e7e3d4b524852bfcf371c8383f5bcc0897682 Mon Sep 17 00:00:00 2001 From: burnettk Date: Wed, 5 Oct 2022 14:44:25 -0400 Subject: [PATCH] work in progress fixing tests --- cypress/e2e/process_groups.cy.js | 3 +-- cypress/e2e/process_instances.cy.js | 2 +- cypress/e2e/process_models.cy.js | 21 +++++++++++++++++---- cypress/support/commands.js | 21 ++++++++++++--------- src/routes/ProcessGroupList.tsx | 4 ++++ 5 files changed, 35 insertions(+), 16 deletions(-) diff --git a/cypress/e2e/process_groups.cy.js b/cypress/e2e/process_groups.cy.js index 1e61a8e..614d750 100644 --- a/cypress/e2e/process_groups.cy.js +++ b/cypress/e2e/process_groups.cy.js @@ -15,8 +15,7 @@ describe('process-groups', () => { cy.createGroup(groupId, groupDisplayName); cy.contains('Process Groups').click(); - cy.contains(groupId); - cy.contains(groupId).click(); + cy.contains(groupDisplayName).click(); cy.url().should('include', `process-groups/${groupId}`); cy.contains(`Process Group: ${groupId}`); diff --git a/cypress/e2e/process_instances.cy.js b/cypress/e2e/process_instances.cy.js index 26e98ad..1351ed1 100644 --- a/cypress/e2e/process_instances.cy.js +++ b/cypress/e2e/process_instances.cy.js @@ -58,7 +58,7 @@ describe('process-instances', () => { beforeEach(() => { cy.login(); cy.navigateToProcessModel( - 'acceptance-tests-group-one', + 'Acceptance Tests Group One', 'acceptance-tests-model-1' ); }); diff --git a/cypress/e2e/process_models.cy.js b/cypress/e2e/process_models.cy.js index a9d76b4..3b28514 100644 --- a/cypress/e2e/process_models.cy.js +++ b/cypress/e2e/process_models.cy.js @@ -10,10 +10,11 @@ describe('process-models', () => { const uuid = () => Cypress._.random(0, 1e6); const id = uuid(); const groupId = 'acceptance-tests-group-one'; + const groupDisplayName = 'Acceptance Tests Group One'; const modelDisplayName = `Test Model 2 ${id}`; const newModelDisplayName = `${modelDisplayName} edited`; const modelId = `test-model-2-${id}`; - cy.contains(groupId).click(); + cy.contains(groupDisplayName).click(); cy.createModel(groupId, modelId, modelDisplayName); cy.contains(`Process Group: ${groupId}`).click(); cy.contains(modelId); @@ -44,6 +45,7 @@ describe('process-models', () => { const uuid = () => Cypress._.random(0, 1e6); const id = uuid(); const groupId = 'acceptance-tests-group-one'; + const groupDisplayName = 'Acceptance Tests Group One'; const modelDisplayName = `Test Model 2 ${id}`; const modelId = `test-model-2-${id}`; @@ -51,7 +53,7 @@ describe('process-models', () => { const dmnFileName = `dmn_test_file_${id}`; const jsonFileName = `json_test_file_${id}`; - cy.contains(groupId).click(); + cy.contains(groupDisplayName).click(); cy.createModel(groupId, modelId, modelDisplayName); cy.contains(`Process Group: ${groupId}`).click(); cy.contains(modelId); @@ -119,10 +121,11 @@ describe('process-models', () => { const uuid = () => Cypress._.random(0, 1e6); const id = uuid(); const groupId = 'acceptance-tests-group-one'; + const groupDisplayName = 'Acceptance Tests Group One'; const modelDisplayName = `Test Model 2 ${id}`; const modelId = `test-model-2-${id}`; cy.contains('Add a process group'); - cy.contains(groupId).click(); + cy.contains(groupDisplayName).click(); cy.createModel(groupId, modelId, modelDisplayName); // seeing if getBySel works better, because we are seeing tests fail in CI @@ -160,7 +163,17 @@ describe('process-models', () => { }); it('can paginate items', () => { - cy.contains('acceptance-tests-group-one').click(); + cy.contains('Acceptance Tests Group One').click(); cy.basicPaginationTest(); }); + + it('can allow searching for model', () => { + cy.get('[name=process-model-selection]').click(); + cy.get('[name=process-model-selection]').type('model-3'); + cy.get( + `[aria-label="acceptance-tests-group-one/acceptance-tests-model-3"]` + ).click(); + + cy.contains('Process Instances').click(); + }); }); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 4e2c9fb..2510302 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -83,15 +83,18 @@ Cypress.Commands.add('runPrimaryBpmnFile', (reload = true) => { } }); -Cypress.Commands.add('navigateToProcessModel', (groupId, modelId) => { - cy.navigateToAdmin(); - cy.contains(groupId).click(); - cy.contains(`Process Group: ${groupId}`); - // https://stackoverflow.com/q/51254946/6090676 - cy.getBySel('process-model-show-link').contains(modelId).click(); - cy.url().should('include', `process-models/${groupId}/${modelId}`); - cy.contains(`Process Model: ${modelId}`); -}); +Cypress.Commands.add( + 'navigateToProcessModel', + (groupDisplayName, modelDisplayName) => { + cy.navigateToAdmin(); + cy.contains(groupDisplayName).click(); + cy.contains(`Process Group: ${groupDisplayName}`); + // https://stackoverflow.com/q/51254946/6090676 + cy.getBySel('process-model-show-link').contains(modelDisplayName).click(); + // cy.url().should('include', `process-models/${groupDisplayName}/${modelDisplayName}`); + cy.contains(`Process Model: ${modelDisplayName}`); + } +); Cypress.Commands.add('basicPaginationTest', () => { cy.get('#pagination-page-dropdown') diff --git a/src/routes/ProcessGroupList.tsx b/src/routes/ProcessGroupList.tsx index 73b8f81..37bddb4 100644 --- a/src/routes/ProcessGroupList.tsx +++ b/src/routes/ProcessGroupList.tsx @@ -116,6 +116,10 @@ export default function ProcessGroupList() { id="process-model-selection" labelKey="label" onChange={processModelSearchOnChange} + // for cypress tests since data-qa does not work + inputProps={{ + name: 'process-model-selection', + }} options={processModeleSelectionOptions} placeholder="Choose a process model..." />