import selectors from '../../helpers/selectors.js'; import createNightmare from '../../helpers/nightmare'; describe('Item index path', () => { const nightmare = createNightmare(); beforeAll(() => { nightmare .loginAndModule('salesPerson', 'item') .waitToClick(selectors.itemsIndex.searchIcon); }); it('should click on the fields to show button to open the list of columns to show', async() => { const visible = await nightmare .waitToClick(selectors.itemsIndex.fieldsToShowButton) .isVisible(selectors.itemsIndex.fieldsToShowForm); expect(visible).toBeTruthy(); }); it('should unmark all checkboxes except the first and the last ones', async() => { const result = await nightmare .waitToClick(selectors.itemsIndex.idCheckbox) .waitToClick(selectors.itemsIndex.stemsCheckbox) .waitToClick(selectors.itemsIndex.sizeCheckbox) .waitToClick(selectors.itemsIndex.nicheCheckbox) .waitToClick(selectors.itemsIndex.typeCheckbox) .waitToClick(selectors.itemsIndex.categoryCheckbox) .waitToClick(selectors.itemsIndex.intrastadCheckbox) .waitToClick(selectors.itemsIndex.originCheckbox) .waitToClick(selectors.itemsIndex.buyerCheckbox) .waitToClick(selectors.itemsIndex.destinyCheckbox) .waitToClick(selectors.itemsIndex.saveFieldsButton) .waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it('should navigate forth and back to see the images column is still visible', async() => { const imageVisible = await nightmare .waitToClick(selectors.itemsIndex.searchResult) .waitToClick(selectors.itemDescriptor.goBackToModuleIndexButton) .waitToClick(selectors.itemsIndex.searchIcon) .wait(selectors.itemsIndex.searchResult) .waitImgLoad(selectors.itemsIndex.firstItemImage) .isVisible(selectors.itemsIndex.firstItemImageTd); expect(imageVisible).toBeTruthy(); }); it('should check the ids column is not visible', async() => { const idVisible = await nightmare .isVisible(selectors.itemsIndex.firstItemId); expect(idVisible).toBeFalsy(); }); it('should mark all unchecked boxes to leave the index as it was', async() => { const result = await nightmare .waitToClick(selectors.itemsIndex.fieldsToShowButton) .waitToClick(selectors.itemsIndex.idCheckbox) .waitToClick(selectors.itemsIndex.stemsCheckbox) .waitToClick(selectors.itemsIndex.sizeCheckbox) .waitToClick(selectors.itemsIndex.nicheCheckbox) .waitToClick(selectors.itemsIndex.typeCheckbox) .waitToClick(selectors.itemsIndex.categoryCheckbox) .waitToClick(selectors.itemsIndex.intrastadCheckbox) .waitToClick(selectors.itemsIndex.originCheckbox) .waitToClick(selectors.itemsIndex.buyerCheckbox) .waitToClick(selectors.itemsIndex.destinyCheckbox) .waitToClick(selectors.itemsIndex.saveFieldsButton) .waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it('should now navigate forth and back to see the ids column is now visible', async() => { const idVisible = await nightmare .waitToClick(selectors.itemsIndex.searchResult) .waitToClick(selectors.itemDescriptor.goBackToModuleIndexButton) .waitToClick(selectors.itemsIndex.searchIcon) .wait(selectors.itemsIndex.searchResult) .isVisible(selectors.itemsIndex.firstItemId); expect(idVisible).toBeTruthy(); }); });