| /** | 
|  * @file        ADSO-10235 | 
|  * @description Delete multiple campaigns | 
|  * @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 { ListCampaignColumn } from '../../libmp/forms/form.campaign'; | 
| import { DataCampaignTypeName } from '../../libmp/data/data.campaign'; | 
| import { GanttChartCampaignPlanningColors, GanttChartCampaignPlanningContextMenuItem } from '../../libmp/forms/form.campaignplanning'; | 
| import { GanttChartNodeSOPCriteria, StepGanttChart } from '../../libappsop/ganttchartsop'; | 
| import { StepList } from '../../libappsop/listsop'; | 
| import { DataMetalBaseEntityName } from '../../libmp/data/data.unit'; | 
| import { GanttChartRow } from '../../e2elib/lib/src/pageobjects/ganttchart/ganttchartrow'; | 
|   | 
| describe('ADSO-10235 - Delete multiple campaigns', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const gcCampaign = appMP.viewCampaign.formCampaignPlanning.gcCampaign; | 
|   let gcRowMeltingFurnaceQuilmes: GanttChartRow; | 
|   const listCampaign = appMP.viewCampaign.formCampaign.listCampaign; | 
|   | 
|   const indexesToDelete: number[] = [1, 3]; | 
|   | 
|   const itemBlue: ListCampaignColumn = { | 
|     Unit: DataMetalBaseEntityName.MeltingFurnaceQuilmes, | 
|     'Campaign type': DataCampaignTypeName.Campaignfor5XXXsmelt, | 
|   }; | 
|   | 
|   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 - ${StepList.verifyRowExists(listCampaign.name, itemBlue)}`, async () => { | 
|     await listCampaign.verifyRowExists(itemBlue); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepGanttChart.verifyNodeCount(gcCampaign.name, DataMetalBaseEntityName.MeltingFurnaceQuilmes, 2, nodeCriteria)}`, async () => { | 
|     const rows = await gcCampaign.getRowsByTitle(DataMetalBaseEntityName.MeltingFurnaceQuilmes); | 
|     // Since there are 2 rows with the same title, we need to pick the second row. | 
|     gcRowMeltingFurnaceQuilmes = rows[1]; | 
|     // Initially there are 2 blue nodes. | 
|     await gcCampaign.verifyNodeCount(gcRowMeltingFurnaceQuilmes, 2, nodeCriteria); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepGanttChart.rightClickNodeIndexesAndSelectContextMenu( | 
|     gcCampaign.name, | 
|     DataMetalBaseEntityName.MeltingFurnaceQuilmes, | 
|     indexesToDelete, | 
|     GanttChartCampaignPlanningContextMenuItem.Delete.Label, | 
|   )}`, async () => { | 
|     // Deleting second and fourth node. | 
|     await gcCampaign.rightClickNodeIndexesAndSelectContextMenu(gcRowMeltingFurnaceQuilmes, indexesToDelete, GanttChartCampaignPlanningContextMenuItem.Delete); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepList.verifyRowNotExist(listCampaign.name, itemBlue)}`, async () => { | 
|     await listCampaign.verifyRowNotExist(itemBlue); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepGanttChart.verifyNodeCount(gcCampaign.name, DataMetalBaseEntityName.MeltingFurnaceQuilmes, 0, nodeCriteria)}`, async () => { | 
|     // There were 5 nodes initially, now that 2 has been removed, there should be 0 blue nodes left | 
|     await gcCampaign.verifyNodeCount(gcRowMeltingFurnaceQuilmes, 0, nodeCriteria); | 
|   }); | 
| }); |