| /** | 
|  * @file        ADSO-9493 | 
|  * @description Create new strategy | 
|  * @author      Mehrab Kamrani (mehrab.hassan@3ds.com) | 
|  * @copyright   Dassault Systèmes | 
|  */ | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
| import { ListStrategyContextMenuItem } from '../../libmp/forms/form.optimizerstrategies'; | 
|   | 
| describe('ADSO-9493 - Create new strategy via context menu in strategy list and action bar Create button', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const listStrategy = appMP.viewOptimizerStrategies.frmOptimizerStrategies.listStrategy; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewScenarioAnalysisOverview); | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Setup - ${AppMP.getDemoDataPath(Demo.Food, Scenario.Base)}`, async () => { | 
|     await appMP.createDemoDataset(Demo.Food, Scenario.Base, false); | 
|   }); | 
|   | 
|   it(`Step 1 - Open view ${appMP.viewOptimizerStrategies.viewPath} and via context menu on Strategies list create new strategy`, async () => { | 
|     await appMP.viewOptimizerStrategies.switchTo(); | 
|   | 
|     // Create from context menu of strategy list | 
|     const [dlgStrategy] = await listStrategy.selectContextMenu(ListStrategyContextMenuItem.Create); | 
|   | 
|     // Verify Active Goal list is empty for new created strategy | 
|     const listActiveGoalsRowCount = await dlgStrategy.listActiveGoals.getRowCount(); | 
|     expect(listActiveGoalsRowCount).toBe(0, 'Create strategy dialog, by default active goals list should be empty.'); | 
|   | 
|     await dlgStrategy.updateDialogValues({Name: 'Strategy Test 1'}); | 
|     await dlgStrategy.clickOK(); | 
|   | 
|     // Verify strategy created in list | 
|     await listStrategy.verifyRowExists({Name: 'Strategy Test 1'}); | 
|   }); | 
|   | 
|   it('Step 2 - Repeat test using action bar Create button', async () => { | 
|     // Create from Scenarios Action bar create menu | 
|     const dlgStrategy = await listStrategy.clickActionButton(appMP.abpScenario.btnCreate); | 
|   | 
|     // Verify Active Goal list is empty for new created strategy | 
|     const listActiveGoalsRowCount = await dlgStrategy.listActiveGoals.getRowCount(); | 
|     expect(listActiveGoalsRowCount).toBe(0, 'Create strategy dialog, by default active goals list should be empty.'); | 
|   | 
|     await dlgStrategy.updateDialogValues({Name: 'Strategy Test 2'}); | 
|     await dlgStrategy.clickOK(); | 
|   | 
|     // Verify strategy created in list | 
|     await listStrategy.verifyRowExists({Name: 'Strategy Test 2'}); | 
|   }); | 
|   | 
|   it('Clean Up the data - remove strategies and verify not in list', async () => { | 
|     // Delete the strategy created in step 1 | 
|     let row = await listStrategy.getRow({Name: 'Strategy Test 1'}); | 
|     await listStrategy.selectContextMenu(ListStrategyContextMenuItem.Delete, row); | 
|     await listStrategy.verifyRowNotExist({Name: 'Strategy Test 1'}); | 
|   | 
|     // Delete the strategy created in step 2 | 
|     row = await listStrategy.getRow({Name: 'Strategy Test 2'}); | 
|     await listStrategy.selectContextMenu(ListStrategyContextMenuItem.Delete, row); | 
|     await listStrategy.verifyRowNotExist({Name: 'Strategy Test 2'}); | 
|   }); | 
| }); |