| /** | 
|  * @file        ADSO-10408 | 
|  * @description Restore smart plan settings to defaults | 
|  * @author      Kong Ching Shien (ckg6@3ds.com) | 
|  * @copyright   Dassault Systèmes | 
|  */ | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
| import { startOfPlanningYear } from '../../libmp/data/data.period'; | 
| import { DataFoodStrategyName } from '../../libmp/data/data.strategy'; | 
| import { MatrixEditorProductPlanning, MatrixEditorProductPlanningContextMenuItem } from '../../libmp/forms/form.productplanning'; | 
| import { StepMatrix } from '../../libappsop/matrixeditorsop'; | 
| import { StepDialog } from '../../libappsop/dialogsop'; | 
| import { DialogSmartPlan, DialogSmartPlanDirectionRadioButton, DialogSmartPlanFields } from '../../libmp/dialogs/dialog.smartplan'; | 
|   | 
| describe('ADSO-10408 -  Restore smart plan settings to defaults', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   let dlgSmartPlan: DialogSmartPlan; | 
|   const generalFields: DialogSmartPlanFields = {Strategy: DataFoodStrategyName.MaximizeEBITDA, OverrideLockedPlan: 'true'}; | 
|   const advancedFields: DialogSmartPlanFields = {SmartPlanDirection: DialogSmartPlanDirectionRadioButton.MiddleOut, LimitUnits: 'true'}; | 
|   const defaultGeneralFields: DialogSmartPlanFields = {Strategy: DataFoodStrategyName.Default, OverrideLockedPlan: 'false'}; | 
|   const defaultAdvancedFields: DialogSmartPlanFields = {SmartPlanDirection: DialogSmartPlanDirectionRadioButton.MiddleOut, LimitUnits: 'false' }; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewSupplyPlanning); | 
|     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.viewSupplyPlanning.viewPath}`, async () => { | 
|     await appMP.viewSupplyPlanning.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepMatrix.rightClickMatrixSelectContextmenu(MatrixEditorProductPlanning.title, MatrixEditorProductPlanningContextMenuItem.SmartPlan)} ${StepDialog.updateDialogValues(DialogSmartPlan.title, generalFields)}`, async () => { | 
|     dlgSmartPlan = await appMP.viewSupplyPlanning.frmProductPlanning.meProductPlanning.startSettingSmartPlanDirection(0, `1-Jan-${startOfPlanningYear}`); | 
|     await dlgSmartPlan.updateDialogValues(generalFields); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepDialog.clickTab('Advanced')} ${StepDialog.updateDialogValues(DialogSmartPlan.title, advancedFields)}`, async () => { | 
|     await dlgSmartPlan.pnlAdvanced.clickTab(); | 
|     await dlgSmartPlan.updateDialogValues(advancedFields); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepDialog.clickButton(DialogSmartPlan.btnSavePreferences)} ${StepDialog.clickOK()}`, async () => { | 
|     await dlgSmartPlan.btnSavePreferences.click(); | 
|     await dlgSmartPlan.clickOK(); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepMatrix.rightClickMatrixSelectContextmenu(MatrixEditorProductPlanning.title, MatrixEditorProductPlanningContextMenuItem.SmartPlan)}`, async () => { | 
|     dlgSmartPlan = await appMP.viewSupplyPlanning.frmProductPlanning.meProductPlanning.startSettingSmartPlanDirection(0, `1-Jan-${startOfPlanningYear}`); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepDialog.verifyButtonDisabled(DialogSmartPlan.btnSavePreferences)} ${StepDialog.verifyButtonEnabled(DialogSmartPlan.btnRestoreDafault)}`, async () => { | 
|     await dlgSmartPlan.verifyButtonDisabled(dlgSmartPlan.btnSavePreferences); | 
|     await dlgSmartPlan.verifyButtonEnabled(dlgSmartPlan.btnRestoreDefault); | 
|   }); | 
|   | 
|   it(`Step 8 - ${StepDialog.clickButton(DialogSmartPlan.btnRestoreDafault)} ${StepDialog.verifyButtonDisabled(DialogSmartPlan.btnSavePreferences)} ${StepDialog.verifyButtonDisabled(DialogSmartPlan.btnRestoreDafault)}`, async () => { | 
|     await dlgSmartPlan.btnRestoreDefault.click(); | 
|     await dlgSmartPlan.verifyButtonDisabled(dlgSmartPlan.btnSavePreferences); | 
|     await dlgSmartPlan.verifyButtonDisabled(dlgSmartPlan.btnRestoreDefault); | 
|   }); | 
|   | 
|   it(`Step 9 - ${StepDialog.verifyDialogValues(DialogSmartPlan.title, defaultGeneralFields)}`, async () => { | 
|     await dlgSmartPlan.verifyDialogValues(defaultGeneralFields); | 
|   }); | 
|   | 
|   it(`Step 10 - ${StepDialog.clickTab('Advanced')} ${StepDialog.verifyDialogValues(DialogSmartPlan.title, defaultAdvancedFields)}`, async () => { | 
|     await dlgSmartPlan.pnlAdvanced.clickTab(); | 
|     await dlgSmartPlan.verifyDialogValues(defaultAdvancedFields); | 
|   }); | 
|   | 
|   it(`Step 11 - ${StepDialog.clickCancel()}`, async () => { | 
|     await dlgSmartPlan.clickCancel(); | 
|   }); | 
| }); |