| /** | 
|  * @file        ADSO-9342, ADSO-9343, ADSO-9344 - Create new assumption and edit assumption | 
|  * @description Create assumption via context menu and right corner | 
|  * @author      Wong Jia Hui (jiahui.wong@3ds.com), Umar Adkhamov (umar.adkhamov@3ds.com) | 
|  * @copyright   Dassault Systemes | 
|  */ | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { AppMP } from '../../libmp/appmp'; | 
| import { DataEmptyScenarioName } from '../../libmp/data/data.scenario'; | 
| import { ListAssumptionsContextMenuItem } from '../../libmp/forms/form.assumption'; | 
| import { ListScenarioContextMenuItem, ScenarioManager } from '../../libmp/forms/form.scenario'; | 
|   | 
| describe('ADSO-9342, ADSO-9343, ADSO-9344 - Assumption management', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const listAssumption = appMP.viewScenario.formAssumption.listAssumption; | 
|   const listScenario = appMP.viewScenario.formScenario.lstScenario; | 
|   const newScenario = DataEmptyScenarioName.TestScenario1; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Setup - Open view ${appMP.viewScenario.viewPath}. In Scenario Manager list, create empty scenario '${newScenario}' via context menu 'Create scenario...' and select it in list.`, async () => { | 
|     await appMP.viewScenario.switchTo(); | 
|   | 
|     // Create empty scenario from Scenario Form via context menu | 
|     const [dlgScenario] = await listScenario.selectContextMenu(ListScenarioContextMenuItem.CreateScenario); | 
|     await dlgScenario.updateDialogValues({Name: newScenario, Assumption: '', Comment: 'Empty scenario'}); | 
|     await dlgScenario.clickOK(); | 
|   | 
|     await listScenario.selectRow({Name: newScenario}, [{Name: ScenarioManager.AllScenarios}]); | 
|   }); | 
|   | 
|   it(`ADSO-9342 - Create new assumption via context menu. Fill in every fields except Title. Verify OK disabled.<br> | 
|       Set Title = FirstAssumption and click OK. Verify assumption created in list.`, async () => { | 
|     // Create new assumption from Assumption Form via context menu | 
|     const [dlgAssumption] = await listAssumption.selectContextMenu(ListAssumptionsContextMenuItem.Create); | 
|   | 
|     // Leave Title empty, verify OK disabled | 
|     await dlgAssumption.updateDialogValues({Title: '', Description: 'Our First Assumption', Type: 'Comment', Category: 'First', Importance: 'Medium'}); | 
|     await dlgAssumption.verifyOKDisabled(); | 
|   | 
|     // Update Title and click OK | 
|     await dlgAssumption.updateDialogValues({Title: 'FirstAssumption'}); | 
|     await dlgAssumption.clickOK(); | 
|     await listAssumption.verifyRowExists({Title: 'FirstAssumption'}); | 
|   }); | 
|   | 
|   it('ADSO-9343 - Create new assumption via right fixed corner of the action bar', async () => { | 
|     // Click "Create New Assumption" button in the right fixed corner of action bar | 
|     const dlgAssumption = await listAssumption.clickActionButton(appMP.btnCreateAssumption); | 
|   | 
|     // Leave Title empty, verify OK disabled | 
|     await dlgAssumption.updateDialogValues({Title: '', Description: 'Our Second Assumption', Type: 'Risk', Category: 'Second', Importance: 'Low'}); | 
|     await dlgAssumption.verifyOKDisabled(); | 
|   | 
|     // Update Title and click OK | 
|     await dlgAssumption.updateDialogValues({Title: 'SecondAssumption'}); | 
|     await dlgAssumption.clickOK(); | 
|     await listAssumption.verifyRowExists({Title: 'SecondAssumption'}); | 
|   }); | 
|   | 
|   it('ADSO-9344 - Edit assumption via context menu.', async () => { | 
|     const firstAssumption = await listAssumption.getRow({Title: 'FirstAssumption'}); | 
|     const [dlgAssumption] = await listAssumption.selectContextMenu(ListAssumptionsContextMenuItem.Edit, firstAssumption); | 
|   | 
|     // Store new values into variables | 
|     const title = 'EditedAssumption'; | 
|     const description = 'Yay we edited it!'; | 
|     const type = 'Highlight'; | 
|     const category = 'Edited'; | 
|     const importance = 'N/A'; | 
|     // Edit the assumption | 
|     await dlgAssumption.updateDialogValues({Title: title, Description: description, Type: type, Category: category, Importance: importance}); | 
|     await dlgAssumption.clickOK(); | 
|   | 
|     await listAssumption.verifyRowValues(firstAssumption, {Title: title, Importance: importance, Category: category}); | 
|   }); | 
| }); |