| /** | 
|  * @file        ADSO-9557 | 
|  * @description Delete units | 
|  * @author      Chan Clarence (ccn7@3ds.com) | 
|  * @copyright   Dassault Systemes | 
|  */ | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
| import { DataFoodBaseEntityName } from '../../libmp/data/data.navigation'; | 
| import { ListEntity, ListEntityColumn, ListEntityContextMenuItem } from '../../libmp/forms/form.unit'; | 
| import { StepList } from '../../libappsop/listsop'; | 
|   | 
| describe('ADSO-9557 - Delete units', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const listEntity = appMP.viewEntity.formEntity.listEntity; | 
|   const selectUnitsToDelete: ListEntityColumn[] = [{Name: DataFoodBaseEntityName.PackagingSupplier}, {Name: DataFoodBaseEntityName.DEDairySupplier}]; | 
|   const parentSupplier: ListEntityColumn[] = [{Name: DataFoodBaseEntityName.Europe}, {Name: DataFoodBaseEntityName.Suppliers}]; | 
|   const rootUnitToDelete: ListEntityColumn = {Name: DataFoodBaseEntityName.Europe}; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewEntity); | 
|     await appMP.cleanupAndLogout(); | 
|   }); | 
|   | 
|   afterEach(async () => { | 
|     await appMP.checkToastMessage(); | 
|   }); | 
|   | 
|   it(`Setup - ${AppMP.getDemoDataPath(Demo.Food, Scenario.Base)}`, async () => { | 
|     await appMP.createDemoDataset(Demo.Food, Scenario.Base, false); | 
|   }); | 
|   | 
|   it(`Setup - Open view ${appMP.viewEntity.viewPath}.`, async () => { | 
|     await appMP.viewEntity.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 1 - ${StepList.selectRowsAndClickMenu(ListEntity.title, selectUnitsToDelete, ListEntityContextMenuItem.Delete.Label)}`, async () => { | 
|     const rows = await listEntity.getRows(selectUnitsToDelete, parentSupplier); | 
|     await listEntity.selectRows(rows); | 
|     await listEntity.selectContextMenu(ListEntityContextMenuItem.Delete, rows); | 
|   }); | 
|   | 
|   it(`Step 2 - ${StepList.verifyRowNotExist(ListEntity.title, selectUnitsToDelete[0])} ${StepList.verifyRowNotExist(ListEntity.title, selectUnitsToDelete[1])}`, async () => { | 
|     await listEntity.verifyRowNotExist(selectUnitsToDelete[0], parentSupplier); | 
|     await listEntity.verifyRowNotExist(selectUnitsToDelete[1], parentSupplier); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepList.selectRowAndClickMenu(ListEntity.title, rootUnitToDelete, ListEntityContextMenuItem.Delete.Label)}`, async () => { | 
|     // Verify stocking point under parent Europe (before we delete Europe root unit) | 
|     await listEntity.verifyRowExists({Name: DataFoodBaseEntityName.DCAustria}, [{Name: DataFoodBaseEntityName.Europe}]); | 
|   | 
|     const row = await listEntity.getRow(rootUnitToDelete); | 
|     await listEntity.selectContextMenu(ListEntityContextMenuItem.Delete, row); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepList.verifyRowExists(ListEntity.title, {Name: DataFoodBaseEntityName.DCAustria})}`, async () => { | 
|     // Verify stocking point appears as root after deleting its parent unit | 
|     await listEntity.verifyRowExists({Name: DataFoodBaseEntityName.DCAustria}); | 
|   }); | 
| }); |