/**
|
* @file ADSO-53009
|
* @description S&OP Workflow parameters - Verify component disabled upon checkbox toggle and value saved
|
* @testCategory Web app - Workflow
|
* @author Kong Ching Shien (ckg6@3ds.com)
|
* @copyright Dassault Systèmes
|
*/
|
import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const';
|
import { AppMP, Demo, Scenario } from '../../libmp/appmp';
|
import { FormWorkflowParameters, FormWorkflowParametersFields, StepWorkflowParametersDocked, toastFormWorkflowParameters } from '../../libmp/forms/form.workflowparameters';
|
import { StepDialog } from '../../libappsop/dialogsop';
|
import { startOfPlanningYear } from '../../libmp/data/data.period';
|
import { StepToast, ToastSOP } from '../../libappsop/toastsop';
|
|
describe('ADSO-53009 - S&OP Workflow parameters - Verify component disabled upon checkbox toggle and value saved', () => {
|
const appMP = AppMP.getInstance();
|
const formWorkflowParameters = appMP.abpWorkflow.formWorkflowParameters;
|
const fieldsVerifyDate: FormWorkflowParametersFields = { AutomaticBasedOnCurentDate: 'false', SpecificDate: `7-Jan-${startOfPlanningYear}` };
|
const fieldsSetAutomatic: FormWorkflowParametersFields = { AutomaticBasedOnCurentDate: 'true' };
|
const fieldsVerifyCurrentDateVisible: FormWorkflowParametersFields = { CurrentDate: 'true' };
|
const fieldsVerifyCurrentDateHidden: FormWorkflowParametersFields = { CurrentDate: 'false' };
|
const fieldsVerifySpecificDateEnabled: FormWorkflowParametersFields = { SpecificDate: 'true' };
|
const fieldsVerifySpecificDateDisabled: FormWorkflowParametersFields = { SpecificDate: 'false' };
|
const fieldsWorkflowParameters: FormWorkflowParametersFields = { AutomaticBasedOnCurentDate: 'false', SpecificDate: `3-Feb-${startOfPlanningYear}` };
|
const fieldsIntegration: FormWorkflowParametersFields = { EnableIntegration: 'true' };
|
const toast = new ToastSOP();
|
|
beforeAll(async () => {
|
jasmine.addMatchers(qCustomMatcher);
|
await appMP.login();
|
});
|
|
afterAll(async () => {
|
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(`Step 1 - ${StepWorkflowParametersDocked.openWorkflowParameterRightDockedPanel()}`, async () => {
|
await formWorkflowParameters.toggleFormWorkflowParameters(true);
|
});
|
|
it(`Step 2 - ${StepDialog.verifyDialogValues(FormWorkflowParameters.title, fieldsVerifyDate)} ${StepDialog.verifyDialogUIVisible(FormWorkflowParameters.title, fieldsVerifyCurrentDateHidden)} ${StepDialog.verifyDialogEnabled(FormWorkflowParameters.title, fieldsVerifySpecificDateEnabled)}`, async () => {
|
await formWorkflowParameters.verifyDialogValues(fieldsVerifyDate);
|
await formWorkflowParameters.verifyDialogUIVisible(fieldsVerifyCurrentDateHidden);
|
await formWorkflowParameters.verifyDialogEnabled(fieldsVerifySpecificDateEnabled);
|
});
|
|
it(`Step 3 - ${StepDialog.updateDialogValues(FormWorkflowParameters.title, fieldsSetAutomatic)} ${StepDialog.verifyDialogUIVisible(FormWorkflowParameters.title, fieldsVerifyCurrentDateVisible)} ${StepDialog.verifyDialogEnabled(FormWorkflowParameters.title, fieldsVerifySpecificDateDisabled)}`, async () => {
|
await formWorkflowParameters.updateDialogValues(fieldsSetAutomatic);
|
await formWorkflowParameters.verifyDialogUIVisible(fieldsVerifyCurrentDateVisible);
|
await formWorkflowParameters.verifyDialogEnabled(fieldsVerifySpecificDateDisabled);
|
});
|
|
it(`Step 4 - ${StepDialog.updateDialogValues(FormWorkflowParameters.title, fieldsWorkflowParameters)}`, async () => {
|
await formWorkflowParameters.updateDialogValues(fieldsWorkflowParameters);
|
});
|
|
it(`Step 5 - ${StepDialog.updateDialogValues(FormWorkflowParameters.title, fieldsIntegration)} ${StepToast.verifyToastMessageAndClose(toastFormWorkflowParameters.enableIntegration())}`, async () => {
|
await formWorkflowParameters.updateDialogValues(fieldsIntegration);
|
// There's an expected toast message (error) if integration settings not configured but integration turned on
|
await toast.verifyToastMessageAndClose(toastFormWorkflowParameters.enableIntegration());
|
});
|
|
it(`Step 6 - ${StepWorkflowParametersDocked.closeWorkflowParameterRightDockedPanel()}`, async () => {
|
await formWorkflowParameters.toggleFormWorkflowParameters(false);
|
});
|
|
it(`Step 7 - ${StepWorkflowParametersDocked.openWorkflowParameterRightDockedPanel()}`, async () => {
|
await formWorkflowParameters.toggleFormWorkflowParameters(true);
|
});
|
|
it(`Step 8 - ${StepDialog.verifyDialogValues(FormWorkflowParameters.title, fieldsWorkflowParameters)}`, async () => {
|
await formWorkflowParameters.verifyDialogValues(fieldsWorkflowParameters);
|
});
|
|
});
|