/** 
 | 
 * @file        ADSO-9304 
 | 
 * @description Not allowed to create two bookmarks with the same name 
 | 
 * @author      Kong Ching Shien (ckg6@3ds.com) 
 | 
 * @copyright   Dassault Systèmes 
 | 
 */ 
 | 
  
 | 
 import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; 
 | 
 import { AppMP } from '../../libmp/appmp'; 
 | 
 import { StepScenario } from '../../libmp/forms/form.scenario'; 
 | 
 import { DataEmptyScenarioName } from '../../libmp/data/data.scenario'; 
 | 
 import { DialogBookmark, DialogBookmarkFields, okButtonDisabledTooltip } from '../../libmp/dialogs/dialog.bookmark'; 
 | 
 import { StepDialog } from '../../libappsop/dialogsop'; 
 | 
 import { StepList } from '../../libappsop/listsop'; 
 | 
 import { FormNavigationPanel, ListBookmark, StepNavigationPanel } from '../../libmp/forms/navigationpanel/form.navigationpanel'; 
 | 
 import { StepButton } from '../../libappsop/buttonsop'; 
 | 
  
 | 
 describe('ADSO-9304 - Not allowed to create two bookmarks with the same name', () => { 
 | 
   const appMP = AppMP.getInstance(); 
 | 
   const listScenario = appMP.viewScenario.formScenario.lstScenario; 
 | 
   const newScenario = DataEmptyScenarioName.TestScenario1; 
 | 
   const listBookmark = appMP.formNavigation.listBookmark; 
 | 
   const dlgBookmark = new DialogBookmark(); 
 | 
   const newBookmark: DialogBookmarkFields = {Folder: '', Name: 'Bookmark A'}; 
 | 
  
 | 
   beforeAll(async () => { 
 | 
     jasmine.addMatchers(qCustomMatcher); 
 | 
     await appMP.login(); 
 | 
   }); 
 | 
  
 | 
   afterAll(async () => { 
 | 
     await appMP.resetActiveView(appMP.viewScenario); 
 | 
     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(newScenario)}`, async () => { 
 | 
     await listScenario.createEmptyScenario(newScenario); 
 | 
   }); 
 | 
  
 | 
   it(`Step 3 - ${StepNavigationPanel.showBookmarkList()} ${StepButton.click(FormNavigationPanel.btnAddBookmark)} `, async () => { 
 | 
    await appMP.formNavigation.toggleBookmarkList(true); 
 | 
    await appMP.formNavigation.btnAddBookmark.click(); 
 | 
   }); 
 | 
  
 | 
   it(`Step 4 - ${StepDialog.updateDialogValues(DialogBookmark.title, newBookmark)} ${StepDialog.clickOK()} ${StepList.verifyRowExists(ListBookmark.title, {Name: 'Bookmark A'})}`, async () => { 
 | 
    await dlgBookmark.updateDialogValues(newBookmark); 
 | 
    await dlgBookmark.clickOK(); 
 | 
    await listBookmark.verifyRowExists({Name: 'Bookmark A'}); 
 | 
   }); 
 | 
  
 | 
   it(`Step 5 - ${StepButton.click(FormNavigationPanel.btnAddBookmark)} ${StepDialog.updateDialogValues(DialogBookmark.title, newBookmark)}`, async () => { 
 | 
    await appMP.formNavigation.btnAddBookmark.click(); 
 | 
    await dlgBookmark.updateDialogValues(newBookmark); 
 | 
   }); 
 | 
  
 | 
   it(`Step 6 - ${StepDialog.verifyOKDisabled('OK', okButtonDisabledTooltip.sameBookmarkName())} ${StepDialog.clickCancel()}`, async () => { 
 | 
    await dlgBookmark.verifyOKDisabled(okButtonDisabledTooltip.sameBookmarkName()); 
 | 
    await dlgBookmark.clickCancel(); 
 | 
   }); 
 | 
  
 | 
 }); 
 |