Skip to content

Commit

Permalink
Merge branch 'master' into C360538
Browse files Browse the repository at this point in the history
  • Loading branch information
blue-raisin committed Dec 4, 2023
2 parents 4c00687 + b49ff26 commit 2958c36
Show file tree
Hide file tree
Showing 29 changed files with 1,383 additions and 8 deletions.
89 changes: 89 additions & 0 deletions cypress/e2e/bulk-edit/csv/bulk-edit-csv-users-preview.cy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import TopMenu from '../../../support/fragments/topMenu';
import permissions from '../../../support/dictionary/permissions';
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
import FileManager from '../../../support/utils/fileManager';
import getRandomPostfix from '../../../support/utils/stringTools';
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
import Users from '../../../support/fragments/users/users';
import UsersSearchPane from '../../../support/fragments/users/usersSearchPane';

let user;
const newFirstName = `testNewFirstName_${getRandomPostfix()}`;
const userUUIDsFileName = `userUUIDs_${getRandomPostfix()}.csv`;
const invalidUserUUID = getRandomPostfix();
const matchedRecordsFile = `*Matched-Records-${userUUIDsFileName}`;
const editedFileName = `edited-records-${getRandomPostfix()}.csv`;

describe('bulk-edit', () => {
describe('csv approach', () => {
before('create test data', () => {
cy.createTempUser([
permissions.bulkEditCsvEdit.gui,
permissions.uiUserEdit.gui,
]).then((userProperties) => {
user = userProperties;
cy.login(user.username, user.password, {
path: TopMenu.bulkEditPath,
waiter: BulkEditSearchPane.waitLoading,
});
FileManager.createFile(
`cypress/fixtures/${userUUIDsFileName}`,
`${user.userId}\r\n${invalidUserUUID}`,
);
});
});

after('delete test data', () => {
cy.getAdminToken();
FileManager.deleteFile(`cypress/fixtures/${userUUIDsFileName}`);
FileManager.deleteFile(`cypress/fixtures/${editedFileName}`);
FileManager.deleteFileFromDownloadsByMask(`*${matchedRecordsFile}`);
Users.deleteViaApi(user.userId);
});

it(
'C357066 Verify populating preview records changed (Local approach) (firebird) (TaaS)',
{ tags: ['extendedPath', 'firebird'] },
() => {
BulkEditSearchPane.verifyDragNDropUsersUUIDsArea();
BulkEditSearchPane.uploadFile(userUUIDsFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

BulkEditActions.downloadMatchedResults();
BulkEditActions.prepareValidBulkEditFile(
matchedRecordsFile,
editedFileName,
user.firstName,
newFirstName,
);
BulkEditActions.openStartBulkEditForm();
BulkEditSearchPane.uploadFile(editedFileName);
BulkEditActions.cancel();
BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

BulkEditActions.openActions();
BulkEditActions.openStartBulkEditForm();
BulkEditSearchPane.uploadFile(editedFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditActions.clickNext();
BulkEditActions.commitChanges();
BulkEditSearchPane.waitFileUploading();
BulkEditSearchPane.verifyChangesUnderColumns(
'First name',
newFirstName
);
BulkEditActions.downloadMatchedRecordsAbsent();
BulkEditActions.startBulkEditAbsent();

cy.visit(TopMenu.usersPath);
UsersSearchPane.searchByUsername(user.username);
Users.verifyFirstNameOnUserDetailsPane(newFirstName);
},
);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
import uuid from 'uuid';
import { Permissions } from '../../../support/dictionary';
import TopMenu from '../../../support/fragments/topMenu';
import Users from '../../../support/fragments/users/users';
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
import getRandomPostfix from '../../../support/utils/stringTools';
import FileManager from '../../../support/utils/fileManager';

let user;
const invalidUserUUID = `invalidUserUUID_${uuid()}`;
const newFirstName = `testNewFirstName_${getRandomPostfix()}`;
const userUUIDsFileName = `userUUIds_${getRandomPostfix()}.csv`;
const matchedRecordsFile = `*Matched-Records-${userUUIDsFileName}`;
const editedFileName = `edited-records-${getRandomPostfix()}.csv`;

// TODO enable commented lines when issue is fixed https://issues.folio.org/browse/MODBULKOPS-114

describe('bulk-edit', () => {
describe('csv approach', () => {
before('create test data', () => {
cy.createTempUser(
[
Permissions.bulkEditCsvView.gui,
Permissions.bulkEditCsvEdit.gui,
Permissions.bulkEditLogsView.gui,
Permissions.uiUserEdit.gui,
]
).then((userProperties) => {
user = userProperties;
cy.login(user.username, user.password, {
path: TopMenu.bulkEditPath,
waiter: BulkEditSearchPane.waitLoading,
});
FileManager.createFile(
`cypress/fixtures/${userUUIDsFileName}`,
`${user.userId}\r\n${invalidUserUUID}`,
);
});
});

after('delete test data', () => {
FileManager.deleteFile(`cypress/fixtures/${userUUIDsFileName}`);
FileManager.deleteFile(`cypress/fixtures/${editedFileName}`);
FileManager.deleteFileFromDownloadsByMask(matchedRecordsFile);
Users.deleteViaApi(user.userId);
});

it(
'C397348 Verify CANCEL uploading file with matched Users (firebird) (TaaS)',
{ tags: ['extendedPath', 'firebird'] },
() => {
BulkEditSearchPane.verifyDragNDropUsersUUIDsArea();
BulkEditSearchPane.uploadFile(userUUIDsFileName);
BulkEditSearchPane.checkForUploading(userUUIDsFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyPaneRecordsCount(1);
BulkEditSearchPane.verifyMatchedResults(user.username);
BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

BulkEditActions.downloadMatchedResults();
BulkEditActions.downloadMatchedRecordsExists();
BulkEditActions.downloadErrorsExists();
BulkEditActions.prepareValidBulkEditFile(
matchedRecordsFile,
editedFileName,
user.firstName,
newFirstName,
);
BulkEditActions.openStartBulkEditForm();
BulkEditSearchPane.uploadFile(editedFileName);
BulkEditActions.cancel();
BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

cy.reload();
BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

BulkEditActions.openActions();
BulkEditActions.downloadMatchedRecordsExists();
BulkEditActions.downloadErrorsExists();
BulkEditActions.startBulkEditLocalButtonExists();

BulkEditActions.openStartBulkEditForm();
BulkEditSearchPane.uploadFile(editedFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditActions.clickNext();
BulkEditActions.cancel();
// BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
// BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);

BulkEditSearchPane.openLogsSearch();
BulkEditSearchPane.verifyLogsPane();
BulkEditSearchPane.openIdentifierSearch();
// BulkEditSearchPane.verifyErrorLabel(userUUIDsFileName, 1, 1);
BulkEditSearchPane.verifyMatchedResults(user.username);
// BulkEditSearchPane.verifyNonMatchedResults(invalidUserUUID);
BulkEditActions.openActions();
BulkEditActions.downloadMatchedRecordsExists();
// BulkEditActions.downloadErrorsExists();
BulkEditActions.startBulkEditLocalButtonExists();

BulkEditActions.openStartBulkEditForm();
BulkEditSearchPane.uploadFile(editedFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditActions.clickNext();
BulkEditActions.commitChanges();
BulkEditSearchPane.waitFileUploading();
BulkEditSearchPane.verifyChangesUnderColumns(
'First name',
newFirstName
);
},
);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import permissions from '../../../support/dictionary/permissions';
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
import InventoryInstances from '../../../support/fragments/inventory/inventoryInstances';
import TopMenu from '../../../support/fragments/topMenu';
import Users from '../../../support/fragments/users/users';
import FileManager from '../../../support/utils/fileManager';
import getRandomPostfix from '../../../support/utils/stringTools';

let user;
const holdingUUIDsFileName = `holdingUUIDs_${getRandomPostfix()}.csv`;
const item = {
instanceName: `testBulkEdit_${getRandomPostfix()}`,
itemBarcode: getRandomPostfix(),
};

describe('bulk-edit', () => {
describe('in-app approach', () => {
before('create test data', () => {
cy.createTempUser([
permissions.bulkEditEdit.gui,
permissions.inventoryCRUDHoldings.gui,
permissions.inventoryCRUDHoldingsNoteTypes.gui,
]).then((userProperties) => {
user = userProperties;

item.instanceId = InventoryInstances.createInstanceViaApi(
item.instanceName,
item.itemBarcode,
);
cy.getHoldings({
limit: 1,
query: `"instanceId"="${item.instanceId}"`,
}).then((holdings) => {
FileManager.createFile(`cypress/fixtures/${holdingUUIDsFileName}`, holdings[0].id);
});
cy.login(user.username, user.password, {
path: TopMenu.bulkEditPath,
waiter: BulkEditSearchPane.waitLoading,
});
});
});

after('delete test data', () => {
cy.getAdminToken();
Users.deleteViaApi(user.userId);
InventoryInstances.deleteInstanceAndHoldingRecordAndAllItemsViaApi(item.itemBarcode);
FileManager.deleteFile(`cypress/fixtures/${holdingUUIDsFileName}`);
});

it(
'C415368 Verify "Select option" dropdown includes grouped options for Holdings (firebird)',
{ tags: ['smoke', 'firebird'] },
() => {
BulkEditSearchPane.verifyDragNDropHoldingsUUIDsArea();
BulkEditSearchPane.uploadFile(holdingUUIDsFileName);
BulkEditSearchPane.waitFileUploading();

BulkEditActions.openActions();
BulkEditActions.openInAppStartBulkEditFrom();
BulkEditActions.verifyHoldingsOptions();
},
);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import permissions from '../../../support/dictionary/permissions';
import TopMenu from '../../../support/fragments/topMenu';
import FileManager from '../../../support/utils/fileManager';
import getRandomPostfix from '../../../support/utils/stringTools';
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
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';

let user;
const birthdate = '1970-12-02';
const birthdateSlashFormat = '12/2/1970';
const userBarcodesFileName = `userBarcodes_${getRandomPostfix()}.csv`;
const matchedRecordsFileName = `*-Matched-Records-${userBarcodesFileName}`;
const changedRecordsFileName = `*-Changed-Records-${userBarcodesFileName}`;
const previewFileName = `*-Updates-Preview-${userBarcodesFileName}`;

describe('bulk-edit', () => {
describe('in-app approach', () => {
before('create test data', () => {
cy.createTempUser([
permissions.bulkEditUpdateRecords.gui,
permissions.uiUserEdit.gui,
], 'staff').then((userProperties) => {
user = userProperties;
cy.getUsers({ limit: 1, query: `username=${user.username}` }).then((users) => {
cy.updateUser({
...users[0],
personal: { ...users[0].personal, dateOfBirth: birthdate },
});
});
cy.login(user.username, user.password, {
path: TopMenu.bulkEditPath,
waiter: BulkEditSearchPane.waitLoading,
});

FileManager.createFile(`cypress/fixtures/${userBarcodesFileName}`, user.barcode);
});
});

after('delete test data', () => {
cy.getAdminToken();
Users.deleteViaApi(user.userId);
FileManager.deleteFile(`cypress/fixtures/${userBarcodesFileName}`);
FileManager.deleteFileFromDownloadsByMask(matchedRecordsFileName, previewFileName, changedRecordsFileName);
});

it(
'C380585 Verify that "Birth date" field is formatted to show date only (firebird) (TaaS)',
{ tags: ['extendedPath', 'firebird'] },
() => {
BulkEditSearchPane.verifyDragNDropUsersBarcodesArea();
BulkEditSearchPane.uploadFile(userBarcodesFileName);
BulkEditSearchPane.waitFileUploading();
BulkEditActions.downloadMatchedResults();
ExportFile.verifyFileIncludes(matchedRecordsFileName, [`,${birthdate},`]);
BulkEditSearchPane.changeShowColumnCheckboxIfNotYet('Birth date');
BulkEditActions.openInAppStartBulkEditFrom();
BulkEditActions.fillPatronGroup('faculty (Faculty Member)');
BulkEditActions.confirmChanges();
BulkEditSearchPane.verifyExactChangesUnderColumns('Birth date', birthdateSlashFormat);
BulkEditActions.downloadPreview();
ExportFile.verifyFileIncludes(previewFileName, [`,${birthdate},`]);
BulkEditActions.commitChanges();
BulkEditSearchPane.waitFileUploading();
BulkEditSearchPane.verifyExactChangesUnderColumns('Birth date', birthdateSlashFormat);
BulkEditActions.openActions();
BulkEditActions.downloadChangedCSV();
ExportFile.verifyFileIncludes(changedRecordsFileName, [`,${birthdate},`]);
},
);
});
});
Loading

0 comments on commit 2958c36

Please sign in to comment.