/** 
 | 
 * @file        ADSO-9607 
 | 
 * @description Create sales segment 
 | 
 * @author      Clarence (ccn7@3ds.com) 
 | 
 * @copyright   Dassault Systèmes 
 | 
 */ 
 | 
import { AppMP } from '../../libmp/appmp'; 
 | 
import { StepDialog } from '../../libappsop/dialogsop'; 
 | 
import { StepList } from '../../libappsop/listsop'; 
 | 
import { StepScenario } from '../../libmp/forms/form.scenario'; 
 | 
import { DialogSalesSegment } from '../../libmp/dialogs/dialog.salessegment'; 
 | 
import { ListSalesSegment, ListSalesSegmentContextMenuItem } from '../../libmp/forms/form.salessegment'; 
 | 
  
 | 
describe('ADSO-9607 - Create sales segment', () => { 
 | 
  const appMP = AppMP.getInstance(); 
 | 
  const listSalesSegment = appMP.viewSalesSegments.formSalesSegment.listSalesSegment; 
 | 
  let dlgSalesSegment: DialogSalesSegment; 
 | 
  
 | 
  beforeAll(async () => { 
 | 
    await appMP.login(); 
 | 
  }); 
 | 
  
 | 
  afterAll(async () => { 
 | 
    await appMP.resetActiveView(appMP.viewSalesSegments); 
 | 
    await appMP.cleanupAndLogout(); 
 | 
  }); 
 | 
  
 | 
  afterEach(async () => { 
 | 
    await appMP.checkToastMessage(); 
 | 
  }); 
 | 
  
 | 
  it(`Step 1 - Open view ${appMP.viewScenario.viewPath}.`, async () => { 
 | 
    await appMP.viewScenario.switchTo(); 
 | 
  }); 
 | 
  
 | 
  it(`Step 2 - ${StepScenario.createEmptyScenario('TestCreateSalesSegment')}.`, async () => { 
 | 
    await appMP.viewScenario.formScenario.lstScenario.createEmptyScenario('TestCreateSalesSegment'); 
 | 
  }); 
 | 
  
 | 
  it(`Step 3 - Open view ${appMP.viewSalesSegments.viewPath}.`, async () => { 
 | 
    await appMP.viewSalesSegments.switchTo(); 
 | 
  }); 
 | 
  
 | 
  it(`Step 4 - ${StepList.rightClickSelectMenu(ListSalesSegment.title, ListSalesSegmentContextMenuItem.Create.Label)}`, async () => { 
 | 
    [dlgSalesSegment] = await listSalesSegment.selectContextMenu(ListSalesSegmentContextMenuItem.Create); 
 | 
  }); 
 | 
  
 | 
  it(`Step 5 - ${StepDialog.updateDialogValues(DialogSalesSegment.title, {Name: 'Sales segment parent', Parent: ''})} ${StepDialog.clickOK()}`, async () => { 
 | 
    await dlgSalesSegment.updateDialogValues({Name: 'Sales segment parent', Parent: ''}); 
 | 
    await dlgSalesSegment.clickOK(); 
 | 
  }); 
 | 
  
 | 
  it(`Step 6 - ${StepList.verifyRowExists(ListSalesSegment.title, {Name: 'Sales segment parent'})}`, async () => { 
 | 
    await listSalesSegment.verifyRowExists({Name: 'Sales segment parent'}); 
 | 
  }); 
 | 
  
 | 
  it(`Step 7 - ${StepList.focusListClickActionButton(ListSalesSegment.title, 'Create')}`, async () => { 
 | 
    dlgSalesSegment = await listSalesSegment.clickActionButton(appMP.abpSales.btnCreate); 
 | 
  }); 
 | 
  
 | 
  it(`Step 8 - ${StepDialog.updateDialogValues(DialogSalesSegment.title, {Name: 'Sales segment child', Parent: 'Sales segment parent'})} ${StepDialog.clickOK()}`, async () => { 
 | 
    await dlgSalesSegment.updateDialogValues({Name: 'Sales segment child', Parent: 'Sales segment parent'}); 
 | 
    await dlgSalesSegment.clickOK(); 
 | 
  }); 
 | 
  
 | 
  it(`Step 9 - ${StepList.verifyRowExists(ListSalesSegment.title, {Name: 'Sales segment child'}, [{Name: 'Sales segment parent'}])}`, async () => { 
 | 
    await listSalesSegment.verifyRowExists({Name: 'Sales segment child'}, [{Name: 'Sales segment parent'}]); 
 | 
  }); 
 | 
}); 
 |