From e145a4c57d818cbcda90d465ef70982ff534c2c7 Mon Sep 17 00:00:00 2001 From: blue-raisin Date: Sat, 25 Nov 2023 19:00:44 +0500 Subject: [PATCH] C399065 --- .../bulk-edit-in-app-item-no-wildcard.cy.js | 110 +++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-item-no-wildcard.cy.js b/cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-item-no-wildcard.cy.js index 83216765be..a011246198 100644 --- a/cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-item-no-wildcard.cy.js +++ b/cypress/e2e/bulk-edit/in-app/bulk-edit-in-app-item-no-wildcard.cy.js @@ -1,20 +1,128 @@ +import TopMenu from '../../../support/fragments/topMenu'; import testTypes from '../../../support/dictionary/testTypes'; +import permissions from '../../../support/dictionary/permissions'; +import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane'; import devTeams from '../../../support/dictionary/devTeams'; +import InventoryInstances from '../../../support/fragments/inventory/inventoryInstances'; +import getRandomPostfix from '../../../support/utils/stringTools'; +import FileManager from '../../../support/utils/fileManager'; +import Users from '../../../support/fragments/users/users'; +import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions'; +import ExportFile from '../../../support/fragments/data-export/exportFile'; +import InventorySearchAndFilter from '../../../support/fragments/inventory/inventorySearchAndFilter'; +import ItemRecordView from '../../../support/fragments/inventory/item/itemRecordView'; + +let user; + +const firstItem = { + barcode: `firstItem-${getRandomPostfix()}`, + instanceName: `firstInstance-${getRandomPostfix()}`, +}; +const secondItem = { + barcode: `secondItem-${getRandomPostfix()}`, + instanceName: `secondInstance-${getRandomPostfix()}`, +}; +const thirdItem = { + barcode: `thirdItem-${getRandomPostfix()}`, + instanceName: `thirdInstance-${getRandomPostfix()}`, +}; +const allBarcodes = [ + firstItem.barcode, + `secondBarcode_${firstItem.barcode}`, + secondItem.barcode, + `secondBarcode_${secondItem.barcode}`, + thirdItem.barcode, + `secondBarcode_${thirdItem.barcode}`, +] +const newBarcodes = [ + `1017625*-AMA${getRandomPostfix()}`, + `1017625345-AMA${getRandomPostfix()}`, + `101762534?-BBB${getRandomPostfix()}`, + `1017625345-BBB${getRandomPostfix()}`, + `1017625345^DDD${getRandomPostfix()}`, + `1017625345${getRandomPostfix()}`, +]; +const itemsToEdit = [newBarcodes[0], newBarcodes[2], newBarcodes[4]]; +const itemBarcodesFileName = `itemBarcodes_${getRandomPostfix()}.csv`; +const matchedRecordsFileName = `*Matched-Records-${itemBarcodesFileName}`; +const changedRecordsFileName = `*-Changed-Records-${itemBarcodesFileName}`; describe('bulk-edit', () => { describe('in-app approach', () => { before('create test data', () => { + cy.createTempUser([ + permissions.bulkEditEdit.gui, + permissions.uiInventoryViewCreateEditItems.gui, + ]).then((userProperties) => { + // Create three instances with two barcodes each + [firstItem, secondItem, thirdItem].forEach(item => { + InventoryInstances.createInstanceViaApi(item.instanceName, item.barcode); + }); + + // Update all six items with new barcodes + for (let i = 0; i < allBarcodes.length; i++) { + cy.getItems({ limit: 1, expandAll: true, query: `"barcode"=="${allBarcodes[i]}"` }).then( + (res) => { + res.barcode = newBarcodes[i]; + cy.updateItemViaApi(res); + }, + ); + } + + // Put three item barcodes into file + FileManager.createFile(`cypress/fixtures/${itemBarcodesFileName}`, + `${newBarcodes[0]}\n${newBarcodes[2]}\n${newBarcodes[4]}`); + user = userProperties; + cy.login(user.username, user.password, { + path: TopMenu.bulkEditPath, + waiter: BulkEditSearchPane.waitLoading, + }); + }); }); after('delete test data', () => { - + itemsToEdit.forEach((item) => { + InventoryInstances.deleteInstanceAndHoldingRecordAndAllItemsViaApi(item); + }); + Users.deleteViaApi(user.userId); + FileManager.deleteFile(`cypress/fixtures/${itemBarcodesFileName}`); + FileManager.deleteFileFromDownloadsByMask(matchedRecordsFileName); + FileManager.deleteFileFromDownloadsByMask(changedRecordsFileName); }); it( 'C399065 Verify that special characters in Item Barcode are NOT treated as wildcards for Bulk Edit (firebird) (TaaS)', { tags: [testTypes.extendedPath, devTeams.firebird] }, () => { + BulkEditSearchPane.checkItemsRadio(); + BulkEditSearchPane.selectRecordIdentifier('Item barcode'); + + BulkEditSearchPane.uploadFile(itemBarcodesFileName); + BulkEditSearchPane.waitFileUploading(); + BulkEditSearchPane.verifyMatchedResults(newBarcodes[0], newBarcodes[2], newBarcodes[4]); + BulkEditActions.downloadMatchedResults(); + ExportFile.verifyFileIncludes(matchedRecordsFileName, itemsToEdit); + + BulkEditActions.openInAppStartBulkEditFrom(); + BulkEditActions.replacePermanentLocation('Online (E)'); + BulkEditActions.confirmChanges(); + [newBarcodes[0], newBarcodes[2], newBarcodes[4]].forEach((barcode) => { + BulkEditActions.verifyChangesInAreYouSureForm('Barcode', [barcode]); + }); + BulkEditActions.commitChanges(); + BulkEditSearchPane.waitFileUploading(); + BulkEditActions.openActions(); + BulkEditActions.downloadChangedCSV(); + ExportFile.verifyFileIncludes(changedRecordsFileName, itemsToEdit); + + itemsToEdit.forEach((item) => { + cy.visit(TopMenu.inventoryPath); + InventorySearchAndFilter.switchToItem(); + InventorySearchAndFilter.searchByParameter('Barcode', item); + ItemRecordView.waitLoading(); + ItemRecordView.verifyPermanentLocation('Online'); + }); } ); });