/**
|
* @file ADSO-52985
|
* @description Verify filter on Routing Form based on Navigation panel selection. Pre-requisite is to run UTF_UnitTestMPRoutingFilterUI to create the required data and dataset.
|
* @author Zayn Shaikh (SHAIKH.zayn@3ds.com)
|
* @copyright Dassault Systèmes
|
*/
|
|
import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const';
|
import { AppMP, StepAppMP } from '../../libmp/appmp';
|
import { StepNavigationPanel } from '../../libmp/forms/navigationpanel/form.navigationpanel';
|
import { dataFoodProducts, dataFoodProductsProvider } from '../../libmp/data/data.product';
|
import { dataFoodUnits, dataFoodUnitsProvider } from '../../libmp/data/data.unit';
|
import { StepList } from '../../libappsop/listsop';
|
import { ListRouting, ListRoutingColumn } from '../../libmp/forms/form.routing';
|
import { ListRow } from '../../e2elib/lib/src/pageobjects/list/listrow.component';
|
|
describe('ADSO-52985 - Verify filter on Routing form based on Navigation panel selection', () => {
|
const appMP = AppMP.getInstance();
|
const scenarioToSelect = 'ADSO-52985';
|
const listRouting = appMP.viewRouting.formRouting.listRouting;
|
const formNavigation = appMP.formNavigation;
|
const listEntity = formNavigation.listEntity;
|
const listProduct = formNavigation.listProduct;
|
const listRoutingTitle = ListRouting.title;
|
const unitDenmarkPlant = dataFoodUnits.DenmarkPlant;
|
const unitFrancePlant = dataFoodUnits.FrancePlant;
|
const productGreek = dataFoodProducts.Greek;
|
const productGreekBlueberry6pk = dataFoodProducts.GreekBlueberry6pk;
|
let unitDenmarkPlantRow: ListRow;
|
let unitFrancePlantRow: ListRow;
|
const routingR1: ListRoutingColumn = {Name: 'R1'};
|
const routingR2: ListRoutingColumn = {Name: 'R2'};
|
const routingR3: ListRoutingColumn = {Name: 'R3'};
|
|
beforeAll(async () => {
|
jasmine.addMatchers(qCustomMatcher);
|
await appMP.login();
|
});
|
|
afterAll(async () => {
|
await appMP.resetActiveView(appMP.viewRouting);
|
await appMP.cleanupAndLogout();
|
});
|
|
afterEach(async () => {
|
await appMP.checkToastMessage();
|
});
|
|
it(`Setup - ${StepAppMP.selectScenario(scenarioToSelect)}`, async () => {
|
await appMP.selectScenario(scenarioToSelect);
|
});
|
|
it(`Setup - Open view ${appMP.viewRouting.viewPath}`, async () => {
|
await appMP.viewRouting.switchTo();
|
});
|
|
it(`Step 1 - ${StepList.verifyTotalRow(listRoutingTitle, 51)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowExists(listRoutingTitle, routingR2)} ${StepList.verifyRowExists(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(51, 'Observe 48 Routings from demo and 3 new ones from UTF in the Routings List.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowExists(routingR2);
|
await listRouting.verifyRowExists(routingR3);
|
});
|
|
it(`Step 2 - ${StepNavigationPanel.showEntitiesList()} ${StepNavigationPanel.checkUnits([unitDenmarkPlant.Name])}`, async () => {
|
await formNavigation.openNavigationPanel();
|
await formNavigation.toggleEntityList();
|
// We are selecting both the rows when opening the list for the first time, if we select later, then that results in error (list being too big) and unable to find the required row.
|
unitDenmarkPlantRow = await listEntity.getRow([dataFoodUnitsProvider, unitDenmarkPlant]);
|
unitFrancePlantRow = await listEntity.getRow([dataFoodUnitsProvider, unitFrancePlant]);
|
await listEntity.toggleRowCheckbox(unitDenmarkPlantRow, true);
|
});
|
|
it(`Step 3 - ${StepList.verifyTotalRow(listRoutingTitle, 12)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowExists(listRoutingTitle, routingR2)} ${StepList.verifyRowExists(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(12, 'Observe that 12 Routings (9 from standard demo and 3 newly created ones from UTF) are being shown.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowExists(routingR2);
|
await listRouting.verifyRowExists(routingR3);
|
});
|
|
it(`Step 4 - ${StepNavigationPanel.showProductsList()} ${StepNavigationPanel.checkProducts([productGreek.Name])}`, async () => {
|
await formNavigation.toggleProductList();
|
const row = await listProduct.getRow([dataFoodProductsProvider, productGreek]);
|
await listProduct.toggleRowCheckbox(row, true);
|
});
|
|
it(`Step 5 - ${StepList.verifyTotalRow(listRoutingTitle, 7)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowExists(listRoutingTitle, routingR2)} ${StepList.verifyRowExists(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(7, 'Observe that 7 Routings (4 from demo and 3 newly created ones) are being shown.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowExists(routingR2);
|
await listRouting.verifyRowExists(routingR3);
|
});
|
|
it(`Step 6 - ${StepNavigationPanel.uncheckUnits([unitDenmarkPlant.Name])}`, async () => {
|
await listEntity.toggleRowCheckbox(unitDenmarkPlantRow, false);
|
});
|
|
it(`Step 7 - ${StepList.verifyTotalRow(listRoutingTitle, 15)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowExists(listRoutingTitle, routingR2)} ${StepList.verifyRowExists(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(15, 'Observe that 15 Routings (12 from demo and 3 newly created ones) are being shown.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowExists(routingR2);
|
await listRouting.verifyRowExists(routingR3);
|
});
|
|
it(`Step 8 - ${StepNavigationPanel.checkUnits([unitFrancePlant.Name])}`, async () => {
|
await listEntity.toggleRowCheckbox(unitFrancePlantRow, true);
|
});
|
|
it(`Step 9 - ${StepList.verifyTotalRow(listRoutingTitle, 5)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowNotExist(listRoutingTitle, routingR2)} ${StepList.verifyRowNotExist(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(5, 'Observe that 5 Routings (4 from demo and 1 newly created one) are being shown.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowNotExist(routingR2);
|
await listRouting.verifyRowNotExist(routingR3);
|
});
|
|
it(`Step 10 - ${StepNavigationPanel.uncheckUnits([unitFrancePlant.Name])}`, async () => {
|
await listEntity.toggleRowCheckbox(unitFrancePlantRow, false);
|
});
|
|
it(`Step 11 - ${StepNavigationPanel.unCheckProducts([productGreek.Name])}`, async () => {
|
const row = await listProduct.getRow([dataFoodProductsProvider, productGreek]);
|
await listProduct.toggleRowCheckbox(row, false);
|
});
|
|
it(`Step 12 - ${StepNavigationPanel.checkProducts([productGreekBlueberry6pk.Name])}`, async () => {
|
const row = await listProduct.getRow([dataFoodProductsProvider, productGreekBlueberry6pk]);
|
await listProduct.toggleRowCheckbox(row, true);
|
});
|
|
it(`Step 13 - ${StepList.verifyTotalRow(listRoutingTitle, 5)} ${StepList.verifyRowExists(listRoutingTitle, routingR1)} ${StepList.verifyRowExists(listRoutingTitle, routingR2)} ${StepList.verifyRowNotExist(listRoutingTitle, routingR3)}`, async () => {
|
await listRouting.verifyTotalRow(5, 'Observe that 5 Routings (3 from demo and 2 newly created one) are being shown.');
|
await listRouting.verifyRowExists(routingR1);
|
await listRouting.verifyRowExists(routingR2);
|
await listRouting.verifyRowNotExist(routingR3);
|
});
|
|
});
|