Kevin Kok Khah Whey
2023-10-12 e7c56c4676e153f0af05083b1f5ab0ed73d4b2c3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/**
 * @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);
  });
});