| /** | 
|  * @file        ADSO-10396 | 
|  * @description Default settings of smart plan | 
|  * @author      Chan Clarence (ccn7@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 { DialogSmartPlan, DialogSmartPlanDirectionRadioButton } from '../../libmp/dialogs/dialog.smartplan'; | 
|   | 
| describe('ADSO-10396 - Default settings of smart plan', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   let dlgSmartPlan: DialogSmartPlan; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.viewSupplyPlanning.reset(); | 
|     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 - In Product Planning matrix, right-click any PISPIP cell and click Smart plan menu.<br><br> | 
|       Verify in the Smart plan dialog default settings as below:<br> | 
|       (General tab) Save my preferences button = disabled<br> | 
|       Restore default button = disabled<br> | 
|       Strategy = Default <br> | 
|       Override locked planning = unchecked<br> | 
|       (Advanced tab) Smart plan direction = middle out<br> | 
|       Limit the units used by smart plan = unchecked<br> | 
|       Checkbox Only plan one step upstream hidden.`, async () => { | 
|     dlgSmartPlan = await appMP.viewSupplyPlanning.frmProductPlanning.meProductPlanning.startSettingSmartPlanDirection(0, `1-Jan-${startOfPlanningYear}`); | 
|   | 
|     // Verify General tab (buttons disabled and checkbox uncheck) | 
|     await dlgSmartPlan.verifyDialogEnabled({ BtnSavePreferencesEnabled: 'false', BtnRestoreDefaultEnabled: 'false' }); | 
|     await dlgSmartPlan.verifyDialogValues({ Strategy: DataFoodStrategyName.Default, OverrideLockedPlan: 'false' }); | 
|   | 
|     // Verify Advanced tab (Smart plan direction = Middle-out and checkboxes uncheck) | 
|     await dlgSmartPlan.pnlAdvanced.clickTab(); | 
|     await dlgSmartPlan.verifyDialogValues({ SmartPlanDirection: DialogSmartPlanDirectionRadioButton.MiddleOut, LimitUnits: 'false' }); | 
|     await dlgSmartPlan.verifyDialogUIVisible({ OnlyPlanOneStepUpstream: 'false' }); // Default hidden | 
|   }); | 
|   | 
|   it(`Step 4 - (Advanced tab) Set Smart plan direction = Upstream.<br> | 
|       Verify checkbox Only plan one step upstream is now shown (and uncheck).`, async () => { | 
|     await dlgSmartPlan.updateDialogValues({ SmartPlanDirection: DialogSmartPlanDirectionRadioButton.Upstream }); | 
|     await dlgSmartPlan.verifyDialogUIVisible({ OnlyPlanOneStepUpstream: 'true' }); | 
|     await dlgSmartPlan.verifyDialogValues({ OnlyPlanOneStepUpstream: 'false' }); | 
|   }); | 
|   | 
|   it('Step 5 - Click Cancel to dismiss dialog.', async () => { | 
|     await dlgSmartPlan.clickCancel(); | 
|   }); | 
| }); |