| /** | 
|  * @file        ADSO-9501 | 
|  * @description Add goals to strategy | 
|  * @author      Pethaperumal Natarajan (Pethaperumal.NATARAJAN.intern@3ds.com) | 
|  * @copyright   Dassault Systèmes | 
|  */ | 
|   | 
| import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { ListStrategy, ListStrategyContextMenuItem } from '../../libmp/forms/form.optimizerstrategies'; | 
| import { DialogStrategy, ListActiveGoals, ListActiveGoalsColumn, ListActiveGoalsContextMenuItem, ListInactiveGoals, ListInactiveGoalsColumn } from '../../libmp/dialogs/dialog.strategy'; | 
| import { StepList } from '../../libappsop/listsop'; | 
| import { DataKPIName } from '../../libmp/data/data.kpi'; | 
| import { StepDialog } from '../../libappsop/dialogsop'; | 
|   | 
| describe('ADSO-9501 - Add goals to strategy', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const listOptimizerStrategies = appMP.viewOptimizerStrategies.frmOptimizerStrategies.listStrategy; | 
|   let dlgOptimizerStrategy: DialogStrategy; | 
|   let listActiveGoals: ListActiveGoals; | 
|   let listInactiveGoals: ListInactiveGoals; | 
|   | 
|   const rowBlendingInactiveGoals: ListInactiveGoalsColumn = { Goal: DataKPIName.Blending }; | 
|   const rowCampaignInactiveGoals: ListInactiveGoalsColumn = { Goal: DataKPIName.Campaign }; | 
|   const rowBlendingActiveGoals: ListActiveGoalsColumn = { KPI: DataKPIName.Blending, Level: '1', Weight: '1' }; | 
|   const rowBlendingActiveGoalsUpdated: ListActiveGoalsColumn = { KPI: DataKPIName.Blending, Level: '2', Weight: '1' }; | 
|   const rowCampaignActiveGoals: ListActiveGoalsColumn = { KPI: DataKPIName.Campaign, Level: '2', Weight: '1' }; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Step 1 - ${AppMP.getDemoDataPath(Demo.Food, Scenario.Base)}`, async () => { | 
|     await appMP.createDemoDataset(Demo.Food, Scenario.Base, false); | 
|   }); | 
|   | 
|   it(`Step 2 - Open view ${appMP.viewOptimizerStrategies.viewPath}`, async () => { | 
|     await appMP.viewOptimizerStrategies.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepList.rightClickSelectMenu(ListStrategy.title, ListStrategyContextMenuItem.Create.Label)}`, async () => { | 
|     [dlgOptimizerStrategy] = await listOptimizerStrategies.selectContextMenu(ListStrategyContextMenuItem.Create); | 
|     listActiveGoals = dlgOptimizerStrategy.listActiveGoals; | 
|     listInactiveGoals = dlgOptimizerStrategy.listInactiveGoals; | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepList.dropRowOnWhiteSpace(ListInactiveGoals.title, [rowBlendingInactiveGoals], ListActiveGoals.title)}`, async () => { | 
|     const sourceRow = await listInactiveGoals.getRow(rowBlendingInactiveGoals); | 
|     await listActiveGoals.dropRowOnWhiteSpace(sourceRow); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepList.verifyRowExists(ListActiveGoals.title, rowBlendingActiveGoals)}`, async () => { | 
|     await listActiveGoals.verifyRowExists(rowBlendingActiveGoals); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepList.selectRowAndClickMenu(ListInactiveGoals.title, rowBlendingActiveGoals, ListActiveGoalsContextMenuItem.IncreaseLevel.Label)}`, async () => { | 
|     const row = await listActiveGoals.getRow(rowBlendingActiveGoals); | 
|     await listActiveGoals.selectContextMenu(ListActiveGoalsContextMenuItem.IncreaseLevel, row); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepList.verifyRowExists(ListActiveGoals.title, rowBlendingActiveGoalsUpdated)}`, async () => { | 
|     await listActiveGoals.verifyRowExists(rowBlendingActiveGoalsUpdated); | 
|   }); | 
|   | 
|   it(`Step 8 - ${StepList.dropRowsOnTargetRow(ListInactiveGoals.title, [rowCampaignInactiveGoals], rowBlendingActiveGoalsUpdated, ListActiveGoals.title)}`, async () => { | 
|     const sourceRow = await listInactiveGoals.getRow(rowCampaignInactiveGoals); | 
|     const targetRow = await listActiveGoals.getRow(rowBlendingActiveGoalsUpdated); | 
|     await listActiveGoals.dropRowOnTargetRow(sourceRow, targetRow); | 
|   }); | 
|   | 
|   it(`Step 9 - ${StepList.verifyRowExists(ListActiveGoals.title, rowCampaignActiveGoals)}`, async () => { | 
|     await listActiveGoals.verifyRowExists(rowCampaignActiveGoals); | 
|   }); | 
|   | 
|   it(`Step 10 - ${StepDialog.clickCancel()}`, async () => { | 
|     await dlgOptimizerStrategy.clickCancel(); | 
|   }); | 
| }); |