| /** | 
|  * @file        ADSO-9331 | 
|  * @description Scenario analysis - unit capacity view, filtering on selection in the Navigation panel | 
|  * @author      CHEAH Meng Yew (MengYew.CHEAH@3ds.com) | 
|  * @copyright   Dassault Systemes | 
|  */ | 
|  import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
|  import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
|  import { startOfPlanningYear } from '../../libmp/data/data.period'; | 
|  import { dataFoodUnits } from '../../libmp/data/data.unit'; | 
|  import { StepCapacityPlanning } from '../../libmp/forms/form.capacityplanning'; | 
|  import { StepNavigationPanel } from '../../libmp/forms/navigationpanel'; | 
|  import { ChartScenarioAnalysisUnitCapacity } from '../../libmp/forms/form.scenarioanalysisunitcapacity'; | 
|  import { StepChart } from '../../libappsop/chartsop'; | 
|   | 
|  describe('ADSO-9331 - Scenario analysis - unit capacity view, filtering on selection in the Navigation panel', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const listEntity = appMP.formNavigation.listEntity; | 
|   const chartunitCapacity = appMP.viewScenarioAnalysisUnitCapacity.formScenarioAnalysisUnitCapacity.chartUnitCapacity; | 
|   const gcCapacityPlanning = appMP.viewSupplyPlanning.frmCapacityPlanning.ganttChartCapacityPlanning; | 
|   const denmarkChildUnits = [dataFoodUnits.DEFermenter.Name, dataFoodUnits.DEFinishing.Name, dataFoodUnits.DEPackaging.Name, dataFoodUnits.DEStrainer.Name]; | 
|   const chartTitle = ChartScenarioAnalysisUnitCapacity.title; | 
|   let rootUtilizationPercentage: string; | 
|   let averageUtilizationDenmarkChildUnits: string; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Setup - ${AppMP.getDemoDataPath(Demo.Food, Scenario.Base)}`, async () => { | 
|     await appMP.createDemoDataset(Demo.Food, Scenario.Base, true); // Need wait optimizer finish to have chart shows correct Utilization | 
|   }); | 
|   | 
|   it(`Setup - Open view ${appMP.viewScenarioAnalysisUnitCapacity.viewPath}`, async () => { | 
|     await appMP.viewScenarioAnalysisUnitCapacity.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 1 - ${StepChart.getChartValues(ChartScenarioAnalysisUnitCapacity.title, ChartScenarioAnalysisUnitCapacity.chartSeriesUtilization, [`1-Jan-${startOfPlanningYear}`])}`, async () => { | 
|     // Get initital Utilization at Root level (unfiltered in navigation panel), we will use to compare later on | 
|     const values = await chartunitCapacity.getUtilizationValues([`1-Jan-${startOfPlanningYear}`]); | 
|     rootUtilizationPercentage = values[0]; | 
|   }); | 
|   | 
|   it(`Step 2 - ${StepNavigationPanel.openNavigationPanel()}`, async () => { | 
|     await appMP.formNavigation.openNavigationPanel(); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepNavigationPanel.showEntitiesList()}`, async () => { | 
|     await appMP.formNavigation.toggleEntityList(true); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepNavigationPanel.checkUnits([dataFoodUnits.DenmarkPlant.Name])}`, async () => { | 
|     const denmarkPlant = await listEntity.getEntityRowByName(dataFoodUnits.DenmarkPlant.Name, [dataFoodUnits.Europe.Name, dataFoodUnits.Plants.Name]); | 
|     await listEntity.toggleRowCheckbox(denmarkPlant, true); | 
|   }); | 
|   | 
|   it(`Step 5 - Open view ${appMP.viewSupplyPlanning.viewPath}`, async () => { | 
|     await appMP.viewSupplyPlanning.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepCapacityPlanning.calcAverageCapacityPercentage(denmarkChildUnits, `Jan ${startOfPlanningYear}`, `Feb ${startOfPlanningYear}`)}`, async () => { | 
|     averageUtilizationDenmarkChildUnits = await gcCapacityPlanning.getRowNodesAverageValue(denmarkChildUnits, [`Jan ${startOfPlanningYear}`], [`Feb ${startOfPlanningYear}`]); | 
|   }); | 
|   | 
|   it(`Step 7 - Open view ${appMP.viewScenarioAnalysisUnitCapacity.viewPath}`, async () => { | 
|     await appMP.viewScenarioAnalysisUnitCapacity.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 8 - ${StepChart.verifyHasDataPoint(chartTitle, ChartScenarioAnalysisUnitCapacity.chartSeriesUtilization, `1-Jan-${startOfPlanningYear}`, 'the average utilization for Denmark child units')}`, async () => { | 
|     await chartunitCapacity.verifyHasDataPoint('', ChartScenarioAnalysisUnitCapacity.chartSeriesUtilization, `1-Jan-${startOfPlanningYear}`, averageUtilizationDenmarkChildUnits, 0.5); | 
|   }); | 
|   | 
|   it(`Step 9 - ${StepNavigationPanel.clickHomeResetToRoot()}`, async () => { | 
|     await appMP.formNavigation.resetNaviToRoot(); | 
|   }); | 
|   | 
|   it(`Step 10 - ${StepChart.verifyHasDataPoint(chartTitle, ChartScenarioAnalysisUnitCapacity.chartSeriesUtilization, `1-Jan-${startOfPlanningYear}`, 'initial Root utilization percentage')}`, async () => { | 
|     await chartunitCapacity.verifyHasDataPoint('', ChartScenarioAnalysisUnitCapacity.chartSeriesUtilization, `1-Jan-${startOfPlanningYear}`, rootUtilizationPercentage, 0.5); | 
|   }); | 
|  }); |