diff --git a/cypress/commons/actions/brewery/BreweryParameters.js b/cypress/commons/actions/brewery/BreweryParameters.js index ad6c2d98b..38e9c4df6 100644 --- a/cypress/commons/actions/brewery/BreweryParameters.js +++ b/cypress/commons/actions/brewery/BreweryParameters.js @@ -128,6 +128,20 @@ const getCommentInput = () => ScenarioParameters.getParameterInput('text-input-c const getAdditionalDate = () => ScenarioParameters.getParameterValue('date-input-additional_date'); const getAdditionalDateHelperText = () => cy.get('[id=date-text-field-additional_date-helper-text]'); const getAdditionalDateInput = () => ScenarioParameters.getParameterInput('date-input-additional_date'); +const getScenarioToCompare = () => ScenarioParameters.getParameterValue('single-select-scenario_to_compare'); + +const getScenarioToCompareSelect = () => { + return cy.get(BREWERY_SELECTORS.scenario.parameters.additionalParameters.scenarioToCompare); +}; +const getScenarioToCompareSelectInput = () => { + return ScenarioParameters.getParameterInput('single-select-scenario_to_compare'); +}; +const selectScenarioToCompareOption = (option) => { + getScenarioToCompareSelect().click(); + cy.get( + BREWERY_SELECTORS.scenario.parameters.additionalParameters.scenarioToCompareOption.replace('$OPTION', option) + ).click(); +}; function getCurrencyTextField() { return getCurrencyParameterContainer().find(GENERIC_SELECTORS.genericComponents.basicEnumInput.textField); @@ -574,6 +588,10 @@ export const BreweryParameters = { getAdditionalTablesInput, getCommentInput, getAdditionalDateInput, + getScenarioToCompareSelect, + getScenarioToCompareSelectInput, + getScenarioToCompare, + selectScenarioToCompareOption, getCurrencyNameHelperText, getEvaluationHelperText, getCommentHelperText, diff --git a/cypress/commons/constants/brewery/IdConstants.js b/cypress/commons/constants/brewery/IdConstants.js index 11518a141..76f40b809 100644 --- a/cypress/commons/constants/brewery/IdConstants.js +++ b/cypress/commons/constants/brewery/IdConstants.js @@ -75,6 +75,8 @@ export const BREWERY_SELECTORS = { commentInput: '[id=text-input-comment]', additionalDate: '[id=date-input-additional_date]', additionalDateValueInDisabledMode: '[data-cy=additional_date-value-disabled-input]', + scenarioToCompare: '[data-cy=single-select-scenario_to_compare]', + scenarioToCompareOption: '[data-cy=single-select-option-$OPTION]', }, }, }, diff --git a/cypress/e2e/brewery/ScenarioParameters-additional-advanced.cy.js b/cypress/e2e/brewery/ScenarioParameters-additional-advanced.cy.js index f7eb5ff65..b7e3d9ac3 100644 --- a/cypress/e2e/brewery/ScenarioParameters-additional-advanced.cy.js +++ b/cypress/e2e/brewery/ScenarioParameters-additional-advanced.cy.js @@ -40,6 +40,8 @@ describe('Additional advanced scenario parameters tests', () => { additionalTables: 3, comment: 'None', additionalDate: '06/22/2022', + countries: [], + scenarioToCompare: '', }; const VALUES_TO_UPDATE = { additionalSeats: 888, @@ -48,10 +50,17 @@ describe('Additional advanced scenario parameters tests', () => { additionalTables: 9090, comment: 'Strongly recommended', additionalDate: '12/07/2022', + countries: ['France', 'Germany', 'Italy'], + scenarioToCompare: forgeScenarioName(), }; const scenarioName = forgeScenarioName(); - scenarioNamesToDelete.push(scenarioName); + scenarioNamesToDelete.push(scenarioName, VALUES_TO_UPDATE.scenarioToCompare); + Scenarios.createScenario(VALUES_TO_UPDATE.scenarioToCompare, true, SCENARIO_DATASET, SCENARIO_RUN_TEMPLATE).then( + (value) => { + cy.wrap(value.scenarioCreatedId).as('scenarioToCompareId'); + } + ); Scenarios.createScenario(scenarioName, true, SCENARIO_DATASET, SCENARIO_RUN_TEMPLATE); BreweryParameters.switchToEventsTab(); @@ -69,6 +78,7 @@ describe('Additional advanced scenario parameters tests', () => { BreweryParameters.switchToAdditionalParametersTab(); BreweryParameters.getCommentInput().should('value', INIT_VALUES.comment); BreweryParameters.getAdditionalDateInput().should('value', INIT_VALUES.additionalDate); + BreweryParameters.getScenarioToCompareSelectInput().should('have.text', ''); BreweryParameters.switchToEventsTab(); BreweryParameters.editEventsTableStringCell('reservationsNumber', 0, '199').should('have.text', '199'); @@ -88,6 +98,9 @@ describe('Additional advanced scenario parameters tests', () => { .type('{moveToStart}' + '29/08/1997') .should('value', '29/08/1997'); + cy.get('@scenarioToCompareId').then((id) => BreweryParameters.selectScenarioToCompareOption(id)); + BreweryParameters.getScenarioToCompareSelectInput().should('value', VALUES_TO_UPDATE.scenarioToCompare); + ScenarioParameters.discard(); BreweryParameters.switchToEventsTab(); @@ -105,6 +118,7 @@ describe('Additional advanced scenario parameters tests', () => { BreweryParameters.switchToAdditionalParametersTab(); BreweryParameters.getCommentInput().should('value', INIT_VALUES.comment); BreweryParameters.getAdditionalDateInput().should('value', INIT_VALUES.additionalDate); + BreweryParameters.getScenarioToCompareSelectInput().should('value', INIT_VALUES.scenarioToCompare); BreweryParameters.switchToEventsTab(); BreweryParameters.editEventsTableStringCell('reservationsNumber', 0, '199').should('have.text', '199'); @@ -131,6 +145,10 @@ describe('Additional advanced scenario parameters tests', () => { BreweryParameters.getAdditionalDateInput() .click() .type('{moveToStart}' + VALUES_TO_UPDATE.additionalDate); + cy.get('@scenarioToCompareId').then((id) => { + BreweryParameters.selectScenarioToCompareOption(id); + }); + BreweryParameters.getScenarioToCompareSelectInput().should('value', VALUES_TO_UPDATE.scenarioToCompare); ScenarioParameters.launch(); @@ -149,5 +167,6 @@ describe('Additional advanced scenario parameters tests', () => { 'have.text', new Date(VALUES_TO_UPDATE.additionalDate).toLocaleDateString() ); + BreweryParameters.getScenarioToCompare().should('have.text', VALUES_TO_UPDATE.scenarioToCompare); }); });