Skip to content

Commit

Permalink
test: [SDCOSMO-1274] update e2e tests relating scenario rename featur…
Browse files Browse the repository at this point in the history
…e refacto
  • Loading branch information
nborde-CSM committed Jun 28, 2024
1 parent 954d4b6 commit ad02faa
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 25 deletions.
25 changes: 16 additions & 9 deletions cypress/commons/actions/generic/ScenarioManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,26 @@ function getScenarioCreationDate(scenarioId) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.creationDate);
}

function getScenarioEditableLabel(scenarioId, timeout = 5) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.manager.editableLabel, {
function getRenameScenarioButton(scenarioId) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.manager.button.renameScenario);
}
function getScenarioEditableLink(scenarioId, timeout = 5) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.manager.editableLink, {
timeout: timeout * 1000,
});
}
function getScenarioEditableLabelInEditMode(scenarioId, timeout = 5) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.manager.editableLabelInEditMode, {
function getScenarioEditableLinkInEditMode(scenarioId, timeout = 5) {
return getScenarioAccordion(scenarioId).find(GENERIC_SELECTORS.scenario.manager.editableLinkInEditMode, {
timeout: timeout * 1000,
});
}
function renameScenario(scenarioId, newScenarioName) {
return ScenarioManager.getScenarioEditableLabel(scenarioId)
.click()
.type('{selectAll}{backspace}' + newScenarioName + '{enter}');
const renameScenarioAlias = api.interceptUpdateScenario(scenarioId);

getRenameScenarioButton(scenarioId).click();
getScenarioEditableLinkInEditMode(scenarioId).type('{selectAll}{backspace}' + newScenarioName + '{enter}');

api.waitAlias(renameScenarioAlias);
}

function getScenarioValidationStatusChip(scenarioId) {
Expand Down Expand Up @@ -164,8 +170,9 @@ export const ScenarioManager = {
getScenarioAccordion,
getScenarioOwnerName,
getScenarioCreationDate,
getScenarioEditableLabel,
getScenarioEditableLabelInEditMode,
getRenameScenarioButton,
getScenarioEditableLink,
getScenarioEditableLinkInEditMode,
renameScenario,
getScenarioValidationStatusChip,
getScenarioValidationStatusLoadingSpinner,
Expand Down
4 changes: 3 additions & 1 deletion cypress/commons/constants/generic/IdConstants.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,16 @@ export const GENERIC_SELECTORS = {
search: '[data-cy=scenario-manager-search-field]',
button: {
delete: '[data-cy=scenario-delete-button]',
renameScenario: '[data-cy=rename-scenario-button]',
},
scenarioAccordion: '[data-cy=scenario-accordion-$SCENARIOID]',
scenarioAccordions: '[data-cy^=scenario-accordion-]',
scenarioAccordionExpandButton: '[data-cy=expand-accordion-button]',
scenarioRunTemplate: '[data-cy=scenario-run-template]',
scenarioDataset: '[data-cy=scenario-datasets]',
editableLabel: '[data-cy=editable-label]',
editableLabelInEditMode: '[data-cy=editable-label-in-edition-mode]',
editableLink: '[data-cy=editable-link]',
editableLinkInEditMode: '[data-cy=editable-link-in-edition-mode]',
},
},
workspace: {
Expand Down
13 changes: 6 additions & 7 deletions cypress/e2e/brewery/RenameScenario.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,12 @@ describe('Create scenario and rename it', () => {
Scenarios.createScenario(scenarioName, true, SCENARIO_DATASET, SCENARIO_RUN_TEMPLATE).then((data) => {
const scenarioId = data.scenarioCreatedId;
ScenarioManager.switchToScenarioManager();
ScenarioManager.getScenarioEditableLabel(scenarioId)
.click()
ScenarioManager.getRenameScenarioButton(scenarioId).click();
ScenarioManager.getScenarioEditableLink(scenarioId, 15)
.type('{selectAll}{backspace}' + newScenarioName + '{esc}') // Do not confirm new name
.should('have.text', scenarioName);

ScenarioManager.renameScenario(scenarioId, newScenarioName);
ScenarioManager.getScenarioEditableLabel(scenarioId, 15).should('have.text', newScenarioName);
ScenarioManager.getScenarioEditableLink(scenarioId, 15).should('have.text', newScenarioName);
Scenarios.switchToScenarioView();
ScenarioSelector.selectScenario(anotherScenario, anotherScenarioId);
ScenarioSelector.selectScenario(newScenarioName, scenarioId);
Expand All @@ -65,7 +64,7 @@ describe('Create scenario and rename it', () => {
ScenarioManager.switchToScenarioManager();
ScenarioManager.getScenarioAccordion(scenarioId).click();
ScenarioManager.renameScenario(scenarioId, newScenarioName);
ScenarioManager.getScenarioEditableLabel(scenarioId, 15).should('have.text', newScenarioName);
ScenarioManager.getScenarioEditableLink(scenarioId, 15).should('have.text', newScenarioName);
ScenarioManager.getScenarioViewRedirect(scenarioId).click();
ScenarioSelector.selectScenario(anotherScenario, anotherScenarioId);
ScenarioSelector.selectScenario(newScenarioName, scenarioId);
Expand All @@ -89,9 +88,9 @@ describe('Create scenario and rename it', () => {
ScenarioManager.switchToScenarioManager();

ScenarioManager.renameScenario(scenarioID1, scenarioName1B);
ScenarioManager.getScenarioEditableLabel(scenarioID1, 15).should('have.text', scenarioName1B);
ScenarioManager.getScenarioEditableLink(scenarioID1, 15).should('have.text', scenarioName1B);
ScenarioManager.renameScenario(scenarioID2, scenarioName1A);
ScenarioManager.getScenarioEditableLabel(scenarioID2, 15).should('have.text', scenarioName1A);
ScenarioManager.getScenarioEditableLink(scenarioID2, 15).should('have.text', scenarioName1A);

ScenarioManager.getScenarioViewRedirect(scenarioID2).click();
ScenarioSelector.selectScenario(anotherScenario, anotherScenarioId);
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/brewery/ScenarioManager.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ describe('Create scenario and check its data in scenario manager', () => {
ScenarioManager.getScenarioAccordion(scenarioId).click();
ScenarioManager.getScenarioOwnerName(scenarioId).should('have.text', scenarioOwnerName);
ScenarioManager.getScenarioCreationDate(scenarioId).should('have.text', _formatDate(scenarioCreationDate));
ScenarioManager.getScenarioEditableLabel(scenarioId).should('have.text', scenarioName);
ScenarioManager.getScenarioEditableLink(scenarioId).should('have.text', scenarioName);
ScenarioManager.getScenarioRunStatus(scenarioId, SCENARIO_STATUS.CREATED);
ScenarioManager.getScenarioRunTemplate(scenarioId).should('have.text', scenarioRunTemplate);
ScenarioManager.getScenarioDataset(scenarioId).should('have.text', DATASET.BREWERY_ADT, { matchCase: false });
Expand Down
14 changes: 7 additions & 7 deletions cypress/e2e/brewery/ScenarioSharing.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ describe('Check workspace permissions for admin', () => {
ScenarioManager.switchToScenarioManager();
ScenarioManager.getScenarioAccordion(PRIVATE_SCENARIOS_LIST[0].id);
ScenarioManager.getDeleteScenarioButton().should('be.visible').should('not.be.disabled');
ScenarioManager.getScenarioEditableLabelInEditMode(PRIVATE_SCENARIOS_LIST[0].id).should('not.exist');
ScenarioManager.getScenarioEditableLabel(PRIVATE_SCENARIOS_LIST[0].id).click();
ScenarioManager.getScenarioEditableLabelInEditMode(PRIVATE_SCENARIOS_LIST[0].id).should('exist');
ScenarioManager.getScenarioEditableLink(PRIVATE_SCENARIOS_LIST[0].id).should('not.exist');
ScenarioManager.getRenameScenarioButton(PRIVATE_SCENARIOS_LIST[0].id).should('exist').click();
ScenarioManager.getScenarioEditableLinkInEditMode(PRIVATE_SCENARIOS_LIST[0].id).should('exist');
});

it('Is shown a message error when last admin is removed', () => {
Expand Down Expand Up @@ -179,7 +179,7 @@ describe('Check workspace permissions for Viewer, Editor & Validator', () => {
ScenarioManager.switchToScenarioManager();
ScenarioManager.getScenarioAccordion(scenario.id);
ScenarioManager.getDeleteScenarioButton().should('not.exist');
ScenarioManager.getScenarioEditableLabel(scenario.id).should('not.exist');
ScenarioManager.getRenameScenarioButton(scenario.id).should('not.exist');
});

it('Check Editor permissions', () => {
Expand All @@ -193,9 +193,9 @@ describe('Check workspace permissions for Viewer, Editor & Validator', () => {
ScenarioManager.switchToScenarioManager();
ScenarioManager.getScenarioAccordion(scenario.id);
ScenarioManager.getDeleteScenarioButton().should('not.exist');
ScenarioManager.getScenarioEditableLabelInEditMode(scenario.id).should('not.exist');
ScenarioManager.getScenarioEditableLabel(scenario.id).click();
ScenarioManager.getScenarioEditableLabelInEditMode(scenario.id).should('exist');
ScenarioManager.getScenarioEditableLinkInEditMode(scenario.id).should('not.exist');
ScenarioManager.getRenameScenarioButton(scenario.id).click();
ScenarioManager.getScenarioEditableLinkInEditMode(scenario.id).should('exist');
});

it('Check Validator permissions', () => {
Expand Down

0 comments on commit ad02faa

Please sign in to comment.