| /** | 
|  * @file        ADSO-10265 | 
|  * @description Delete Transportation costs | 
|  * @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 { FormTransportationCosts, ListTransportationCosts, ListTransportationCostsColumns, ListTransportationCostsContextMenuItem } from '../../../libmp/forms/form.transportationcosts'; | 
| import { dataMetalsUnits } from '../../../libmp/data/data.unit'; | 
| import { StepList } from '../../../libappsop/listsop'; | 
| import { StepActionBarPage } from '../../../libappsop/actionbarpagesop'; | 
| import { ListLaneLegs } from '../../../libmp/forms/form.transportationlaneleg'; | 
| import { ListTransportationAccounts } from '../../../libmp/forms/form.transportationaccounts'; | 
| import { StepDialog } from '../../../libappsop/dialogsop'; | 
| import { DataMetalsBaseLane } from '../../../libmp/data/data.lane'; | 
|   | 
| describe('ADSO-10265 - Delete Transportation costs', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const formTransportationCosts = appMP.viewTransportationCost.formTransportationCosts; | 
|   const listTransportationCosts = formTransportationCosts.listTransportationCosts; | 
|   const abpData = appMP.abpData; | 
|   const listTransportationAccounts = appMP.viewTransportationCost.formTransportationAccounts.listTransportationAccounts; | 
|   const listLaneLegs = appMP.viewTransportationCost.formTransportationLaneLeg.listLaneLegs; | 
|   | 
|   const initialExpectedRowCount = 30; | 
|   const finalExpectedRowCount = 0; | 
|   const transportInNA: ListTransportationCostsColumns = { Unit: dataMetalsUnits.TransportInNA.Name, Lane: DataMetalsBaseLane.TransportInNA, Origin: dataMetalsUnits.NorthAmericaSP.Name, Destination: dataMetalsUnits.Quentin.Name }; | 
|   const transportInAsia1: ListTransportationCostsColumns = { Unit: dataMetalsUnits.TransportInAsia.Name, Lane: DataMetalsBaseLane.TransportInAsia, Origin: dataMetalsUnits.AsiaSP.Name, Destination: dataMetalsUnits.QiYing.Name }; | 
|   const transportInAsia2: ListTransportationCostsColumns = { Unit: dataMetalsUnits.TransportInAsia.Name, Lane: DataMetalsBaseLane.TransportInAsia, Origin: dataMetalsUnits.QiYing.Name, Destination: dataMetalsUnits.AsiaSP.Name }; | 
|   | 
|   beforeAll(async () => { | 
|     jasmine.addMatchers(qCustomMatcher); | 
|     await appMP.login(); | 
|   }); | 
|   | 
|   afterAll(async () => { | 
|     await appMP.resetActiveView(appMP.viewTransportationCost); | 
|     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.viewTransportationCost.viewPath}.`, async () => { | 
|     await appMP.viewTransportationCost.switchTo(); | 
|   }); | 
|   | 
|   it(`Step 3 - ${StepDialog.verifyDialogValues(FormTransportationCosts.title, { FilterByAccounts: 'false' })}`, async () => { | 
|     await formTransportationCosts.verifyDialogValues({ FilterByAccounts: 'false' }); | 
|   }); | 
|   | 
|   it(`Step 4 - ${StepList.verifyTotalRow(ListTransportationCosts.title, initialExpectedRowCount)}`, async () => { | 
|     await listTransportationCosts.verifyTotalRow(initialExpectedRowCount); | 
|   }); | 
|   | 
|   it(`Step 5 - ${StepList.selectRowAndClickMenu(ListTransportationCosts.title, transportInNA, ListTransportationCostsContextMenuItem.Delete.Label)}`, async () => { | 
|     const row = await listTransportationCosts.getRow(transportInNA); | 
|     await listTransportationCosts.selectContextMenu(ListTransportationCostsContextMenuItem.Delete, row); | 
|   }); | 
|   | 
|   it(`Step 6 - ${StepList.verifyRowNotExist(ListTransportationCosts.title, transportInNA)}`, async () => { | 
|     await listTransportationCosts.verifyRowNotExist(transportInNA); | 
|   }); | 
|   | 
|   it(`Step 7 - ${StepList.selectRows(ListTransportationCosts.title, [transportInAsia1, transportInAsia2])} ${StepActionBarPage.clickButton('Delete')}`, async () => { | 
|     await listTransportationCosts.selectListRows([transportInAsia1, transportInAsia2]); | 
|     await abpData.btnDelete.click(); | 
|   }); | 
|   | 
|   it(`Step 8 - ${StepList.verifyRowNotExist(ListTransportationCosts.title, transportInAsia1)}`, async () => { | 
|     await listTransportationCosts.verifyRowNotExist(transportInAsia1); | 
|   }); | 
|   | 
|   it(`Step 9 - ${StepList.verifyRowNotExist(ListTransportationCosts.title, transportInAsia2)}`, async () => { | 
|     await listTransportationCosts.verifyRowNotExist(transportInAsia2); | 
|   }); | 
|   | 
|   it(`Step 10 - ${StepList.selectAllRowsAndClickMenu(ListTransportationCosts.title, ListTransportationCostsContextMenuItem.Delete.Label)}`, async () => { | 
|     await listTransportationCosts.selectAllAndSelectContextMenu(ListTransportationCostsContextMenuItem.Delete); | 
|   }); | 
|   | 
|   it(`Step 11 - ${StepList.verifyTotalRow(ListTransportationCosts.title, finalExpectedRowCount)}`, async () => { | 
|     await listTransportationCosts.verifyTotalRow(finalExpectedRowCount); | 
|   }); | 
|   | 
|   it(`Step 12 - ${StepList.verifyContextMenuDisabled(ListTransportationCosts.title, ListTransportationCostsContextMenuItem.Delete.Label)}`, async () => { | 
|     await listTransportationCosts.verifyContextMenuDisabled(ListTransportationCostsContextMenuItem.Delete); | 
|   }); | 
|   | 
|   it(`Step 13 - ${StepActionBarPage.verifyButtonDisabled('Delete')}`, async () => { | 
|     await abpData.btnDelete.verifyEnabled(false); | 
|   }); | 
|   | 
|   it(`Step 14 - ${StepList.selectRowsByIndex(ListTransportationAccounts.title, [0])} ${StepActionBarPage.verifyButtonDisabled('Delete')}`, async () => { | 
|     await listTransportationAccounts.selectListRowsByIndex([0]); | 
|     await abpData.btnDelete.verifyEnabled(false); | 
|   }); | 
|   | 
|   it(`Step 15 - ${StepList.selectRowsByIndex(ListLaneLegs.title, [0])} ${StepActionBarPage.verifyButtonDisabled('Delete')}`, async () => { | 
|     await listLaneLegs.selectListRowsByIndex([0]); | 
|     await abpData.btnDelete.verifyEnabled(false); | 
|   }); | 
| }); |