| /** | 
|  * @file        ADSO-11450 | 
|  * @description Copy scenario optimizer puzzle | 
|  * @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 { StepDialog } from '../../libappsop/dialogsop'; | 
| import { StepList } from '../../libappsop/listsop'; | 
| import { StepActionBarScenarioSelection } from '../../libmp/actionbarpages/abp.scenarioselection'; | 
| import { DialogOptimizerPuzzles, DialogOptimizerPuzzlesField } from '../../libmp/dialogs/optimizerpuzzles'; | 
| import { ListOptimizerPuzzles, ListOptimizerPuzzlesColumn, ListOptimizerPuzzlesContextMenuItem } from '../../libmp/forms/form.optimizerpuzzles'; | 
| import { ListScenarioContextMenuItem, StepScenario } from '../../libmp/forms/form.scenario'; | 
|   | 
| describe('ADSO-11450 - Copy scenario optimizer puzzle', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const abpScenarioSelection = appMP.abpScenarioSelection; | 
|   const formOptimizerPuzzles = abpScenarioSelection.formOptimizerPuzzles; | 
|   const listOptimizerPuzzles = formOptimizerPuzzles.listOptimizerPuzzles; | 
|   let dlgOptimizerPuzzles: DialogOptimizerPuzzles; | 
|   const listScenarioManager = appMP.viewScenario.formScenario.lstScenario; | 
|   const dlgScenario = listScenarioManager.dlgCreateEdit; | 
|   | 
|   const dlgInputPuzzle: DialogOptimizerPuzzlesField = { Name: 'My Puzzle', Description: 'My Description' }; | 
|   | 
|   const listInputPuzzle: ListOptimizerPuzzlesColumn = { Name: 'My Puzzle', Description: 'My Description' }; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewScenario); | 
|     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, true); | 
|   }); | 
|   | 
|   it(`Step 2 - ${StepActionBarScenarioSelection.toggleOptimizerPuzzles(true)}`, async () => { | 
|     await abpScenarioSelection.toggleOptimizerPuzzles(true); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepList.rightClickSelectMenu(ListOptimizerPuzzles.title, ListOptimizerPuzzlesContextMenuItem.Create.Label)}`, async () => { | 
|     [dlgOptimizerPuzzles] = await listOptimizerPuzzles.selectContextMenu(ListOptimizerPuzzlesContextMenuItem.Create); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepDialog.updateDialogValues(DialogOptimizerPuzzles.title, dlgInputPuzzle)}`, async () => { | 
|     await dlgOptimizerPuzzles.updateDialogValues(dlgInputPuzzle); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepDialog.clickOK()}`, async () => { | 
|     await dlgOptimizerPuzzles.clickOK(); | 
|   }); | 
|   | 
|   it(`Step 6 - Open view ${appMP.viewScenario.viewPath}`, async () => { | 
|     await appMP.viewScenario.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepScenario.expandFolderAndSelectMenu('Base', ListScenarioContextMenuItem.CopyScenario)}`, async () => { | 
|     await listScenarioManager.expandFolderAndSelectMenu('Base', ListScenarioContextMenuItem.CopyScenario); | 
|   }); | 
|   | 
|   it(`Step 8 - ${StepDialog.clickOK()}`, async () => { | 
|     await dlgScenario.clickOK(); | 
|   }); | 
|   | 
|   it(`Step 9 - ${StepScenario.expandFolderAndSelectMenu('Base1', ListScenarioContextMenuItem.Select)}`, async () => { | 
|     // Copied scenario created under source scenario | 
|     await listScenarioManager.expandFolderAndSelectMenu('Base1', ListScenarioContextMenuItem.Select, [{ Name: 'Base' }]); | 
|   }); | 
|   | 
|   it(`Step 10 - ${StepActionBarScenarioSelection.toggleOptimizerPuzzles(true)}`, async () => { | 
|     await abpScenarioSelection.toggleOptimizerPuzzles(true); | 
|   }); | 
|   | 
|   it(`Step 11 - ${StepList.verifyRowExists(ListOptimizerPuzzles.title, listInputPuzzle)}`, async () => { | 
|     await listOptimizerPuzzles.verifyRowExists(listInputPuzzle); | 
|   }); | 
| }); |