| /** | 
|  * @file        ADSO-10233 | 
|  * @description Create campaign from capacity planning Gantt Chart | 
|  * @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 { GanttChartRow } from '../../e2elib/lib/src/pageobjects/ganttchart/ganttchartrow'; | 
| import { GanttChartCampaignPlanning, GanttChartCampaignPlanningColors, GanttChartCampaignPlanningContextMenuItem } from '../../libmp/forms/form.campaignplanning'; | 
| import { DialogCampaign, DialogCampaignFields } from '../../libmp/dialogs/dialog.campaign'; | 
| import { GanttChartNodeSOPCriteria, StepGanttChart } from '../../libappsop/ganttchartsop'; | 
| import { DataCampaignTypeName } from '../../libmp/data/data.campaign'; | 
| import { startOfPlanningYear } from '../../libmp/data/data.period'; | 
| import { StepDialog } from '../../libappsop/dialogsop'; | 
| import { ListCampaign, ListCampaignColumn } from '../../libmp/forms/form.campaign'; | 
| import { StepList } from '../../libappsop/listsop'; | 
| import { dataMetalsUnits } from '../../libmp/data/data.unit'; | 
|   | 
| describe('ADSO-10233 - Create campaign from capacity planning Gantt Chart', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const gcCampaignPlanning = appMP.viewCampaign.formCampaignPlanning.gcCampaign; | 
|   const listCampaigns = appMP.viewCampaign.formCampaign.listCampaign; | 
|   let row: GanttChartRow; | 
|   let dlgCampaign: DialogCampaign; | 
|   const inputCampaignVerify: DialogCampaignFields = { 'Earliest start': `01-Jan-${startOfPlanningYear}` }; | 
|   const inputCampaign: DialogCampaignFields = { 'Campaign type': DataCampaignTypeName.Campaignfor5XXXsmelt, Comment: 'New campaign' }; | 
|   const startDate = `17-Jun-${startOfPlanningYear}`; | 
|   const endDate = `17-Jul-${startOfPlanningYear}`; | 
|   const rowCampaign: ListCampaignColumn = { | 
|     Unit: dataMetalsUnits.MeltingFurnaceQuilmes.Name, | 
|     'Campaign type': DataCampaignTypeName.Campaignfor5XXXsmelt, | 
|     Start: `${startDate} 6:09`, | 
|     End: `${endDate} 6:09`, | 
|     Minimum: '46800 Ton', | 
|     Fulfillment: '0', | 
|     Comment: 'New campaign', | 
|   }; | 
|   const nodeCriteria: GanttChartNodeSOPCriteria = { ColorHex: GanttChartCampaignPlanningColors.cyan().Hex }; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewCampaign); | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Step 1 - ${AppMP.getDemoDataPath(Demo.Metals, Scenario.Base)}`, async () => { | 
|     await appMP.createDemoDataset(Demo.Metals, Scenario.Base, false); | 
|   }); | 
|   | 
|   it(`Step 2 - Open view ${appMP.viewCampaign.viewPath}.`, async () => { | 
|     await appMP.viewCampaign.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepGanttChart.rightClickNodeIndexesAndSelectContextMenu(GanttChartCampaignPlanning.title, dataMetalsUnits.MeltingFurnaceQuilmes.Name, [0], GanttChartCampaignPlanningContextMenuItem.Create.Label)}`, async () => { | 
|     [row] = await gcCampaignPlanning.getChildrenRows(0, dataMetalsUnits.MeltingFurnaceQuilmes.Name); | 
|     await gcCampaignPlanning.rightClickNodeIndexesAndSelectContextMenu(row, [0], GanttChartCampaignPlanningContextMenuItem.Create); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepDialog.verifyDialogValues(DialogCampaign.title, inputCampaignVerify)}`, async () => { | 
|     dlgCampaign = await listCampaigns.getDialog(); | 
|     await dlgCampaign.verifyDialogValues(inputCampaignVerify); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepDialog.updateDialogValues(DialogCampaign.title, inputCampaign)} ${StepDialog.clickOK()}`, async () => { | 
|     await dlgCampaign.updateDialogValues(inputCampaign); | 
|     await dlgCampaign.clickOK(); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepList.verifyRowExists(ListCampaign.title, rowCampaign)}`, async () => { | 
|     await listCampaigns.verifyRowExists(rowCampaign); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepGanttChart.verifyNodeCount(GanttChartCampaignPlanning.title, dataMetalsUnits.MeltingFurnaceQuilmes.Name, 3, nodeCriteria)}`, async () => { | 
|     await gcCampaignPlanning.verifyNodeCount(row, 3, nodeCriteria); | 
|   }); | 
| }); |