/**
|
* @file ADSO-9925
|
* @description Manually create and edit trip feedback
|
* @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 { ListTripFeedback, ListTripFeedbackColumn, ListTripFeedbackContextMenuItem } from '../../libmp/forms/form.tripfeedback';
|
import { DialogTripFeedback, DialogTripFeedbackFields } from '../../libmp/dialogs/dialog.tripfeedback';
|
import { StepList } from '../../libappsop/listsop';
|
import { StepDialog } from '../../libappsop/dialogsop';
|
import { startOfPlanningYear } from '../../libmp/data/data.period';
|
import { StepButton } from '../../libappsop/buttonsop';
|
import { dataFoodUnits, dataFoodUnitsProvider } from '../../libmp/data/data.unit';
|
import { dataFoodProducts } from '../../libmp/data/data.product';
|
import { DataFoodBaseLaneLeg } from '../../libmp/data/data.lane';
|
import { StepNavigationPanel } from '../../libmp/forms/navigationpanel/form.navigationpanel';
|
import { StepDropDownList } from '../../libappsop/dropdownlistsop';
|
|
describe('ADSO-9925 - Manually create and edit trip feedback', () => {
|
const appMP = AppMP.getInstance();
|
const listTripFeedback = appMP.viewFeedback.formTripFeedback.listTripFeedback;
|
const abpPlan = appMP.abpPlan;
|
const listEntity = appMP.formNavigation.listEntity;
|
const deTruckFleet = dataFoodUnits.DETruckFleet.Name;
|
let dlgTripFeedback: DialogTripFeedback;
|
|
const laneLegDropDownListOptions = [DataFoodBaseLaneLeg.DEWarehouseToDCAustria, DataFoodBaseLaneLeg.DEWarehouseToDCGermany];
|
|
const inputTripFeedback1: DialogTripFeedbackFields = {
|
LaneLeg: DataFoodBaseLaneLeg.DEWarehouseToDCAustria,
|
ArrivalDateTime: `1-Apr-${startOfPlanningYear}`,
|
Product: dataFoodProducts.GreekBlueberry12pk.Name,
|
Quantity: '500',
|
Description: 'Description 1',
|
};
|
|
const rowTripFeedback1: ListTripFeedbackColumn = {
|
Unit: deTruckFleet,
|
'Lane Leg': DataFoodBaseLaneLeg.DEWarehouseToDCAustria,
|
Arrival: `1-Apr-${startOfPlanningYear}`,
|
Product: dataFoodProducts.GreekBlueberry12pk.Name,
|
Quantity: '500',
|
Description: 'Description 1',
|
};
|
|
const inputTripFeedback2: DialogTripFeedbackFields = {
|
LaneLeg: DataFoodBaseLaneLeg.DEWarehouseToDCGermany,
|
ArrivalDateTime: `5-Apr-${startOfPlanningYear}`,
|
Product: dataFoodProducts.GreekBlueberry6pk.Name,
|
Quantity: '600',
|
Description: 'Description 2',
|
};
|
|
const rowTripFeedback2: ListTripFeedbackColumn = {
|
Unit: deTruckFleet,
|
'Lane Leg': DataFoodBaseLaneLeg.DEWarehouseToDCGermany,
|
Arrival: `5-Apr-${startOfPlanningYear}`,
|
Product: dataFoodProducts.GreekBlueberry6pk.Name,
|
Quantity: '600',
|
Description: 'Description 2',
|
};
|
|
const inputTripFeedback3: DialogTripFeedbackFields = {
|
Quantity: '800',
|
Description: 'Description 3',
|
};
|
|
const rowTripFeedback3: ListTripFeedbackColumn = {
|
...rowTripFeedback1,
|
Quantity: '800',
|
Description: 'Description 3',
|
};
|
|
beforeAll(async () => {
|
jasmine.addMatchers(qCustomMatcher);
|
await appMP.login();
|
});
|
|
afterAll(async () => {
|
await appMP.resetActiveView(appMP.viewFeedback);
|
await appMP.cleanupAndLogout();
|
});
|
|
afterEach(async () => {
|
await appMP.checkToastMessage();
|
});
|
|
describe('Create trip feedback', () => {
|
it(`Step 1 - ${AppMP.getDemoDataPath(Demo.Food, Scenario.Base)}`, async () => {
|
await appMP.createDemoDataset(Demo.Food, Scenario.Base, false);
|
});
|
|
it(`Step 2 - Open view ${appMP.viewFeedback.viewPath}.`, async () => {
|
await appMP.viewFeedback.switchTo();
|
});
|
|
it(`Step 3 - ${StepNavigationPanel.showEntitiesList()}`, async () => {
|
await appMP.formNavigation.toggleEntityList(true);
|
});
|
|
it(`Step 4 - ${StepNavigationPanel.checkUnits([deTruckFleet])}`, async () => {
|
const row = await listEntity.getRow([dataFoodUnitsProvider, dataFoodUnits.DETruckFleet]);
|
await listEntity.toggleRowCheckbox(row, true);
|
});
|
|
it(`Step 5 - ${StepList.rightClickSelectMenu(ListTripFeedback.title, ListTripFeedbackContextMenuItem.Create.Label)}`, async () => {
|
[dlgTripFeedback] = await listTripFeedback.selectContextMenu(ListTripFeedbackContextMenuItem.Create);
|
});
|
|
it(`Step 6 - ${StepDialog.verifyDialogValues(DialogTripFeedback.title, { Unit: deTruckFleet })}`, async () => {
|
await dlgTripFeedback.verifyDialogValues({ Unit: deTruckFleet });
|
});
|
|
it(`Step 7 - ${StepDropDownList.verifyAvailableValues('Lane Leg', laneLegDropDownListOptions)}`, async () => {
|
// Verify only these 2 lane legs visible in dropdownlist
|
await dlgTripFeedback.ddlLaneLeg.verifyAvailableValues(laneLegDropDownListOptions);
|
});
|
|
it(`Step 8 - ${StepDropDownList.verifyNumAvailableValues('Product', 8)}`, async () => {
|
// Verify that Product dropdown list contains 8 finished goods
|
await dlgTripFeedback.ddlProduct.verifyNumAvailableValues(8);
|
});
|
|
it(`Step 9 - ${StepDialog.updateDialogValues(DialogTripFeedback.title, inputTripFeedback1)}`, async () => {
|
await dlgTripFeedback.updateDialogValues(inputTripFeedback1);
|
});
|
|
it(`Step 10 - ${StepDialog.clickOK()}`, async () => {
|
await dlgTripFeedback.clickOK();
|
});
|
|
it(`Step 11 - ${StepList.verifyRowExists(ListTripFeedback.title, rowTripFeedback1)}`, async () => {
|
await listTripFeedback.verifyRowExists(rowTripFeedback1);
|
});
|
|
it(`Step 12 - ${StepButton.click('Create')}`, async () => {
|
await abpPlan.btnCreate.click();
|
});
|
|
it(`Step 13 - ${StepDialog.updateDialogValues(DialogTripFeedback.title, inputTripFeedback2)}`, async () => {
|
await dlgTripFeedback.updateDialogValues(inputTripFeedback2);
|
});
|
|
it(`Step 14 - ${StepDialog.clickOK()}`, async () => {
|
await dlgTripFeedback.clickOK();
|
});
|
|
it(`Step 15 - ${StepList.verifyRowExists(ListTripFeedback.title, rowTripFeedback2)}`, async () => {
|
await listTripFeedback.verifyRowExists(rowTripFeedback2);
|
});
|
});
|
|
describe('Edit trip feedback', () => {
|
it(`Step 1 - ${StepList.selectRowAndClickMenu(ListTripFeedback.title, rowTripFeedback1, ListTripFeedbackContextMenuItem.Edit.Label)}`, async () => {
|
const row = await listTripFeedback.getRow(rowTripFeedback1);
|
await listTripFeedback.selectContextMenu(ListTripFeedbackContextMenuItem.Edit, row);
|
});
|
|
it(`Step 2 - ${StepDialog.verifyDialogValues(DialogTripFeedback.title, inputTripFeedback1)}`, async () => {
|
await dlgTripFeedback.verifyDialogValues(inputTripFeedback1);
|
});
|
|
it(`Step 3 - ${StepDialog.updateDialogValues(DialogTripFeedback.title, inputTripFeedback3)} ${StepDialog.clickOK()}`, async () => {
|
await dlgTripFeedback.updateDialogValues(inputTripFeedback3);
|
await dlgTripFeedback.clickOK();
|
});
|
|
it(`Step 4 - ${StepList.verifyRowExists(ListTripFeedback.title, rowTripFeedback3)}`, async () => {
|
await listTripFeedback.verifyRowExists(rowTripFeedback3);
|
});
|
});
|
});
|