| /** | 
|  * @file        ADSO-10209 - Home button to deselect all items in the navigation panel | 
|  * @description Home button to deselect all items in the navigation panel | 
|  * @testcategory Web - Navigation | 
|  * @author      Jayden Chew (jayden.chew@3ds.com) | 
|  * @copyright   Dassault Systemes | 
|  */ | 
| import { qCustomMatcher } from '../../e2elib/lib/src/main/qmatchers.const'; | 
| import { AppMP, Demo, Scenario } from '../../libmp/appmp'; | 
| import { DataFoodBaseProductName, DataFoodBaseSalesSegmentName } from '../../libmp/data/data.navigation'; | 
| import { ListEntityColumnName } from '../../libmp/forms/navigationpanel/form.navigationpanel'; | 
| import { LogMessage } from '../../libappbase/logmessage'; | 
| import { dataFoodUnits, dataFoodUnitsProvider } from '../../libmp/data/data.unit'; | 
|   | 
| describe('ADSO-10209 - Home button to deselect all items in the navigation panel', () => { | 
|   const appMP = AppMP.getInstance(); | 
|   const europe = dataFoodUnits.Europe.Name; | 
|   | 
|   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 - Open navigation panel', async () => { | 
|     // Navigation panel form should show up directly after login | 
|   | 
|     // Open navigation panel and get stocking point row | 
|     await appMP.formNavigation.openNavigationPanel(); | 
|   }); | 
|   | 
|   it('Step 2 - Open Stocking points and units list', async () => { | 
|     await appMP.formNavigation.toggleEntityList(true); | 
|   }); | 
|   | 
|   it('Step 3 - Check unit Europe', async () => { | 
|     const europeRow = await appMP.formNavigation.listEntity.getRow([dataFoodUnitsProvider, dataFoodUnits.Europe]); | 
|     await appMP.formNavigation.listEntity.toggleRowCheckbox(europeRow, true); | 
|   | 
|     expect(await europeRow.isChecked()).toBe(true, LogMessage.list_checkboxNotChecked(europe)); | 
|   }); | 
|   | 
|   it('Step 4 - Open Products list', async () => { | 
|     await appMP.formNavigation.toggleProductList(true); | 
|   }); | 
|   | 
|   it('Step 5 - Check All Products', async () => { | 
|     const allProductRow = await appMP.formNavigation.listProduct.getRow({Name: DataFoodBaseProductName.AllProducts}); | 
|     await appMP.formNavigation.listProduct.toggleRowCheckbox(allProductRow, true); | 
|     expect(await allProductRow.isChecked()).toBe(true, LogMessage.list_checkboxNotChecked(DataFoodBaseProductName.AllProducts)); | 
|   }); | 
|   | 
|   it('Step 6 - Open Sales Segments list', async () => { | 
|     await appMP.formNavigation.toggleSalesSegmentList(true); | 
|   }); | 
|   | 
|   it('Step 7 - Check Target and Carrefour', async () => { | 
|     const targetRow = await appMP.formNavigation.listSalesSegment.getRow({Name: DataFoodBaseSalesSegmentName.Target}); | 
|     const carrefourRow = await appMP.formNavigation.listSalesSegment.getRow({Name: DataFoodBaseSalesSegmentName.Carrefour}); | 
|   | 
|     await appMP.formNavigation.listSalesSegment.toggleRowCheckbox(targetRow, true); | 
|     await appMP.formNavigation.listSalesSegment.toggleRowCheckbox(carrefourRow, true); | 
|   | 
|     expect(await targetRow.isChecked()).toBe(true, LogMessage.list_checkboxNotChecked(DataFoodBaseSalesSegmentName.Target)); | 
|     expect(await carrefourRow.isChecked()).toBe(true, LogMessage.list_checkboxNotChecked(DataFoodBaseSalesSegmentName.Carrefour)); | 
|   }); | 
|   | 
|   it('Step 8 - Click Home button and verify that all selections in the 3 lists are unchecked ', async () => { | 
|     await appMP.formNavigation.resetNaviToRoot(); | 
|   | 
|     const europeRow = await appMP.formNavigation.listEntity.getRowByCellValue(ListEntityColumnName.DisplayName, europe); | 
|     expect(await europeRow.isChecked()).toBe(false, LogMessage.list_checkboxChecked(europe)); | 
|   | 
|     const allProductRow = await appMP.formNavigation.listProduct.getRow({Name: DataFoodBaseProductName.AllProducts}); | 
|     expect(await allProductRow.isChecked()).toBe(false, LogMessage.list_checkboxChecked(DataFoodBaseProductName.AllProducts)); | 
|   | 
|     const targetRow = await appMP.formNavigation.listSalesSegment.getRow({Name: DataFoodBaseSalesSegmentName.Target}); | 
|     expect(await targetRow.isChecked()).toBe(false, LogMessage.list_checkboxChecked(DataFoodBaseSalesSegmentName.Target)); | 
|   | 
|     const carrefourRow = await appMP.formNavigation.listSalesSegment.getRow({Name: DataFoodBaseSalesSegmentName.Carrefour}); | 
|     expect(await carrefourRow.isChecked()).toBe(false, LogMessage.list_checkboxChecked(DataFoodBaseSalesSegmentName.Carrefour)); | 
|   }); | 
| }); |